my %seen = (); my @uniq = (); foreach $item (@proc_name1) { unless (exists $seen{$item}) # if $item not already in %seen { $seen{$item} = 1; # every item seen push (@uniq, $item); # and again } }