$string =~ s/($pattern)/$i++ == $n ? $better : $1/ge;