aleksi.niemela / cinnober.com (Aleksi Niemel) wrote in <E536C8EE2A1FD31195370008C79FFA1F23216B / world.cinnober.com>: >$ perldoc -q intersection >=head1 Found in /usr/lib/perl5/5.00503/pod/perlfaq4.pod > >=head2 How do I compute the difference of two arrays? How do I compute >the inte >rsection of two arrays? > >Use a hash. Here's code to do both and more. It assumes that >each element is unique in a given array: > > @union = @intersection = @difference = (); > %count = (); > foreach $element (@array1, @array2) { $count{$element}++ } > foreach $element (keys %count) { > push @union, $element; > push @{ $count{$element} > 1 ? \@intersection : \@difference }, >$element >; > } Wow! Much faster than the standard Ruby Array#&. Thanks much (I'll check there myself for these sorts of questions from now on). -RPM -- Ross Mohn rpmohn / panix.com