sub maptest { my ($low, $high) = @_; my $i=0; return 0 if @$low != @$high; map{return 0 if $_ ne $low->[$i++]}@$high; return 1; } __END__ with my @first = ((1..200), qw(a b c d e f)) ; my @second= ((1..200), qw(b a c d e f)) ; Benchmark: timing 20000 iterations of faq, map... faq: 8 wallclock secs ( 8.44 usr + 0.00 sys = 8.44 CPU) map: 10 wallclock secs ( 9.64 usr + 0.00 sys = 9.64 CPU)