Использовать хеш в качестве справочной таблицы.Его ключи являются элементами второго массива, значения не имеют значения:
#!/usr/bin/env perl
use strict;
use warnings;
my @array1 = ( "abc", "cde", "fgh", "ijk", "lmn" );
my @array2 = ( "abc", "fgh", "lmn" );
my @array1only;
# build lookup table
my %seen;
foreach my $elem (@array2) {
$seen{$elem} = 1;
}
# find elements present only in @array1
foreach my $elem (@array1) {
push @array1only, $elem unless $seen{$elem};
}
print "Elements present only in \@array1: ", join( ", ", @array1only ), "\n";
Подробнее см. Рецепт 4.8 в Кулинарная книга Perl .