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