use warnings; use strict; my @array1 = (1,9,2,3,4,8,5); my @array2 = (1, 2,3,4, 5); my %hash; @hash{@array2} = (); foreach my $item (@array1) { print "$item\n" if ! exists $hash{$item}; }