1898184e3Ssthen#!./perl 2898184e3Ssthen 3898184e3Ssthen$| = 1; 4898184e3Ssthen 5898184e3Ssthenuse strict; 6898184e3Ssthenuse Test::More; 7898184e3Ssthen 8898184e3Ssthenplan(skip_all => "skipped for VMS") if $^O eq 'VMS'; 9*91f110e0Safresh1plan(tests => 12); 10898184e3Ssthen 11898184e3Ssthenuse Env qw(@FOO); 12898184e3Ssthenuse vars qw(@BAR); 13898184e3Ssthen 14898184e3Ssthensub array_equal 15898184e3Ssthen{ 16898184e3Ssthen my ($a, $b) = @_; 17898184e3Ssthen return 0 unless scalar(@$a) == scalar(@$b); 18898184e3Ssthen for my $i (0..scalar(@$a) - 1) { 19898184e3Ssthen return 0 unless $a->[$i] eq $b->[$i]; 20898184e3Ssthen } 21898184e3Ssthen return 1; 22898184e3Ssthen} 23898184e3Ssthen 24898184e3Ssthen@FOO = qw(a B c); 25898184e3Ssthen@BAR = qw(a B c); 26898184e3Ssthenis_deeply(\@FOO, \@BAR, "Assignment"); 27898184e3Ssthen 28898184e3Ssthen$FOO[1] = 'b'; 29898184e3Ssthen$BAR[1] = 'b'; 30898184e3Ssthenis_deeply(\@FOO, \@BAR, "Storing"); 31898184e3Ssthen 32898184e3Ssthen$#FOO = 0; 33898184e3Ssthen$#BAR = 0; 34898184e3Ssthenis_deeply(\@FOO, \@BAR, "Truncation"); 35898184e3Ssthen 36898184e3Ssthenpush @FOO, 'b', 'c'; 37898184e3Ssthenpush @BAR, 'b', 'c'; 38898184e3Ssthenis_deeply(\@FOO, \@BAR, "Push"); 39898184e3Ssthen 40898184e3Ssthenpop @FOO; 41898184e3Ssthenpop @BAR; 42898184e3Ssthenis_deeply(\@FOO, \@BAR, "Pop"); 43898184e3Ssthen 44898184e3Ssthenshift @FOO; 45898184e3Ssthenshift @BAR; 46898184e3Ssthenis_deeply(\@FOO, \@BAR, "Shift"); 47898184e3Ssthen 48898184e3Ssthenpush @FOO, 'c'; 49898184e3Ssthenpush @BAR, 'c'; 50898184e3Ssthenis_deeply(\@FOO, \@BAR, "Push"); 51898184e3Ssthen 52898184e3Ssthenunshift @FOO, 'a'; 53898184e3Ssthenunshift @BAR, 'a'; 54898184e3Ssthenis_deeply(\@FOO, \@BAR, "Unshift"); 55898184e3Ssthen 56898184e3Ssthen@FOO = reverse @FOO; 57898184e3Ssthen@BAR = reverse @BAR; 58898184e3Ssthenis_deeply(\@FOO, \@BAR, "Reverse"); 59898184e3Ssthen 60898184e3Ssthen@FOO = sort @FOO; 61898184e3Ssthen@BAR = sort @BAR; 62898184e3Ssthenis_deeply(\@FOO, \@BAR, "Sort"); 63898184e3Ssthen 64898184e3Ssthensplice @FOO, 1, 1, 'B'; 65898184e3Ssthensplice @BAR, 1, 1, 'B'; 66898184e3Ssthenis_deeply(\@FOO, \@BAR, "Splice"); 67*91f110e0Safresh1 68*91f110e0Safresh1my $foo = $ENV{FOO}; 69*91f110e0Safresh1() = splice @FOO, 0, 0; 70*91f110e0Safresh1is $ENV{FOO}, $foo, 'Splice in list context'; 71