|
|
| P is for Practical | |
| PerlMonks |
How do I compute the difference of two arrays? How do I compute the intersection of two arrays?by faq_monk (Initiate) |
| on Oct 08, 1999 at 00:20 UTC ( [id://611]=perlfaq nodetype: print w/replies, xml ) | Need Help?? |
|
Current Perl documentation can be found at perldoc.perl.org. Here is our local, out-dated (pre-5.6) version: 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;
}
|
|