Changing $string =~ s/(b)(?!.*b)$/x/; to this $string =~ s/b(?!.*b)$/x/;