in reply to Compare two arrays of simple numbers

Gentle Punch Card Don,

Sorting is order N-LogN complexity. For very large arrays where you care about efficiency, there should be linear methods where you avoid the sort.

If the numbers in the arrays were multi-digit and there were no repeats in either array, I'd suggest an approach like

You've said in a later note that the numbers were single digit. Then either the arrays are short or there are duplicates. Maybe you don't care about complexity. But maybe you do; I'd modify the algorithm to something like
my %vhash; foreach (@array1){ # Each $vhash{N} says how many time +s N showed up in array1 $vhash{$_}++}; foreach (@array2){ # Each appearance of N in array2 kno +cks down its count in vhash if(! exists $vhash{$_}){ print "Found too many $_ in array2"; exit} elsif($vhash{$_}==1){ delete $vhash{$_)} else{$vhash{$_}--}; if(keys %vhash){ print "Found too many ", join(' ', keys %vhash), "in array1\n"} else{ print "Yep, they matched!\n"}
(not tested)

throop