Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: get the Difference between two arrays

by davido (Cardinal)
on Apr 02, 2018 at 18:53 UTC ( #1212194=note: print w/replies, xml ) Need Help??


in reply to get the Difference between two arrays

This is addressed in perlfaq4 at How do I compute the difference of two arrays. The code there could be adapted to your specific need pretty easily.

Here's the code from perlfaq4:

my (@union, @intersection, @difference); my %count = (); foreach my $element (@array1, @array2) { $count{$element}++ } foreach my $element (keys %count) { push @union, $element; push @{ $count{$element} > 1 ? \@intersection : \@difference } +, $element; }

Here's one way to adapt it.

sub difference { my $array_ref1 = shift; my $array_ref2 = shift; my @difference; foreach my $element (@$array_ref1, @$array_ref2) { $count{$element +}++ }; foreach my $element (keys %count) { push @difference, $element if $count{$element} == 1; } return \@difference; }

(please do test it -- this is untested code.)


Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1212194]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2021-06-22 20:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)












    Results (108 votes). Check out past polls.

    Notices?