my @list= qw(a b c a c); my $w="kandabbbc"; while (my $a=shift(@list)) { $w=~s/\Q$a//; @list = grep {!/\Q$a/} @list; } print $w; #### my %saw; for (@list) { next if $saw{$_}++; # ... } #### my @list= qw(a b c a c); my $re = join '|', @list; #### my $re=join "", @list; $re="[$re]";