I would, very simply, map List2 into a hash and compare that hash to List1, storing the results. As your problem is specified, there is no need to modify list 1.
use strict;
my @list1 = qw(education production results);
my @list2 = qw(education joe bob carl production steve results test);
my %mapping = map { $_ => undef } @list1;
my (@l2_only); undef @l2_only;
foreach (@list2) {
push(@l2_only, $_) unless exists $mapping{$_};
}
print 'List 1: ', join(', ', @list1),"\n";
print 'List 2: ', join(', ', @l2_only), "\n";
__END__
The script above prints:
List 1: education, production, results
List 2: joe, bob, carl, steve, test
Larry Wall is Yoda: there is no try{}
The Code that can be seen is not the true Code
|