The following code works for single-level arrays. It uses a string-wise comparison, and does not distinguish defined versus undefined empty strings. Modify if you have other needs.
unless ( arrays_are_equal (\@tmp1, \@tmp2) ){ print "\ntmp1 and tmp2 are not equal!\n"; } else { print "\ntmp1 and tmp2 are indeed equal!\n"; } sub arrays_are_equal { my ($first, $second) = @_; no warnings; # silence spurious -w undef complaints return 0 unless @$first == @$second; for (my $i = 0; $i < @$first; $i++) { return 0 if $first->[$i] ne $second->[$i]; } return 1; }
Source: perldoc -q "How do I test whether two arrays"
No comments:
Post a Comment