Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: get the Difference between two arrays

by Cristoforo (Curate)
on Apr 02, 2018 at 18:33 UTC ( #1212192=note: print w/replies, xml ) Need Help??


in reply to get the Difference between two arrays

Hi gabrielsousa,

List::Compare and Set::Scalar will do this.

The method you want is get_symmetric_difference for List::Compare or symmetric_difference for Set::Scalar.

And the faq that KurtZ referenced.

C:\Old_Data\perlp>perldoc -q "intersection" Found in C:\Perl64\lib\pods\perlfaq4.pod How do I compute the difference of two arrays? How do I compute the + intersection 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; } Note that this is the *symmetric difference*, that is, all element +s in either A or in B but not in both. Think of it as an xor operation. C:\Old_Data\perlp>

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2020-09-28 05:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If at first I donít succeed, I Ö










    Results (143 votes). Check out past polls.

    Notices?