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