lza:
You can't have looked very hard for the answer, as it's a commonly-asked question. Read perldoc perlfaq4.
Update: I was probably expecting a bit much in thinking that beginning programmers would be able to adapt the code in perlfaq4 "How do I compute the difference of two arrays? How do I compute the intersection of two arrays". As pennance, here's a simple adaptation:
#!/usr/bin/perl use 5.14.0; use warnings; use autodie; my @source=(1, 2, 3, 4, 5, 7); my @target=(0, 1, 3, 4, 6); my %count = (); $count{$_} = 1 for @source; $count{$_} |= 2 for @target; my (@not_in_src, @not_in_tgt, @in_both); for (sort keys %count) { push @not_in_tgt, $_ if $count{$_} == 1; push @not_in_src, $_ if $count{$_} == 2; push @in_both, $_ if $count{$_} == 3; } print "Not in source: ", join(", ", @not_in_src), "\n"; print "Not in target: ", join(", ", @not_in_tgt), "\n"; print "In both: ", join(", ", @in_both), "\n";
...roboticus
When your only tool is a hammer, all problems look like your thumb.
In reply to Re: compare arrays, and list the difference
by roboticus
in thread compare arrays, and list the difference
by iza
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |