Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: array comparison question

by injunjoel (Priest)
on Aug 23, 2005 at 18:14 UTC ( [id://485978]=note: print w/replies, xml ) Need Help??


in reply to array comparison question

Greetings all,
Update
After re-reading the OP I have modified the following code to only identify those elements that are not unique to only one list and are not found in all lists.
This has the benefit of not hard-coding in '2' as a comparison since this logic may need to be extended to more lists in the future.
my @a1 = qw(1 2 5 9 11 12 13); my @a2 = qw(1 2 5 11 12 13); my @a3 = qw(1 2 5 7 9 12 13); my @shared = shared(\@a1, \@a2, \@a3); sub shared { my $lim = scalar(@_); my @lists = map{@{$_}}@_; return do{my %seen; $seen{$_}++ for(@lists); map{delete $seen{$_} if($seen{$_} == 1 || $seen{$_} == $lim)}k +eys %seen; sort {$a <=> $b} keys %seen; }; }

Output is
9 11


-InjunJoel
"I do not feel obliged to believe that the same God who endowed us with sense, reason and intellect has intended us to forego their use." -Galileo

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2024-04-24 22:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found