# my %seen = map $_ => 1, split //, $string1; my %seen = map { $_ => 1 } split //, $string1; my $merged = $string1; not $seen{$_} and $merged .= $_ for split //, $string2;