use strict; use warnings; use Data::Dumper; my @stuff1 = qw/a b c d/; my @stuff2 = qw/a d/; my %seen; my @stuff1_only; my $element; foreach $element(@stuff2) { $seen{$element} = 1; } foreach $element (@stuff1) { unless ($seen{$element}) { push (@stuff1_only, $element); } } print Dumper \@stuff1_only;