### Answer: How can I find the union/difference/intersection of two arrays?

by chromatic (Archbishop)
 on Mar 29, 2000 at 01:07 UTC Need Help??

Q&A > arrays > How can I find the union/difference/intersection of two arrays? - Answer contributed by chromatic

This version works. :)
```my @simpsons=("homer","bart","marge","maggie","lisa");
my @females=("lisa","marge","maggie","maude");

my %simpsons=map{\$_ =>1} @simpsons;
my %females=map{\$_=>1} @females;

# the intersection of @females and @simpsons:
my @female_simpsons = grep( \$simpsons{\$_}, @females );

# proof it works
print "Female Simpson:\t\$_\n" foreach (@female_simpsons);

# the difference of @females and @simpsons

my @male_simpsons=grep(!defined \$females{\$_}, @simpsons);

# proof it works
print "Male Simpson:\t\$_\n" foreach (@male_simpsons);
my %union = ();

# the union of @females and @simpsons
foreach(@females,@simpsons){
\$union{\$_}=1;
}

my @union2 = keys %union;

# or just do this
# my @union = (@females, @simpsons);

• Comment on Answer: How can I find the union/difference/intersection of two arrays?

Create A New User
Chatterbox?
and a log crumbles through the grate...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2018-02-17 20:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When it is dark outside I am happiest to see ...

Results (249 votes). Check out past polls.

Notices?