use strict; use warnings; my $str = 'asdfGxxOxxAxxTqwerty'; my $foo = 'GOAT'; my @letters = split //, $foo; my $match = join '.*', @letters; $str =~ s/($match)/!$1!/g; print $str;