my %item_count; %item_count{$_}++ foreach (@array); #### @result = grep {$item_count{$_} == 1} @array; #### my %item_count; %item_count{$_}++ for grep {/pattern/} @array @result = grep {$item_count{$_} <= 1} @array; #### @result = grep {($item_count{$_}||0) <= 1} @array;