my @match_to_array = (a,b,c,a,d,c,b,r); my %seen = (); my @r = (); foreach my $a (@match_to_array) { unless ($seen{$a}) { push @r, $a; $seen{$a}++; } } print "@r"; print "\n@match_to_array";