in reply to compare arrays, and list the difference
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: compare arrays, and list the difference
by BrowserUk (Patriarch) on Oct 03, 2012 at 11:17 UTC | |
by roboticus (Chancellor) on Oct 03, 2012 at 13:21 UTC | |
|
Re^2: compare arrays, and list the difference
by iza (Monk) on Oct 04, 2012 at 09:13 UTC |