CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
Search Posts SEARCH
Who's Online WHO'S
Log in LOG

Home: Perl Programming Help: Beginner: Re: [perlchaser] compare two arrays: Edit Log

Chris Charley

Aug 31, 2012, 3:57 AM

Views: 1539
Re: [perlchaser] compare two arrays

Here is the answer given in perldoc, (type perldoc -q intersection at your command prompt.

 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 elements in
either A or in B but not in both. Think of it as an xor operation.


The module, List::Compare, will also do this for you.

(This post was edited by Chris Charley on Aug 31, 2012, 4:00 AM)

Edit Log:
Post edited by Chris Charley (User) on Aug 31, 2012, 4:00 AM

Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives