# s/(?<=[a-zA-Z])([12])/ $1 == 1 ? 2 : 1 /eg; # s/([a-z])([12])/ $1 . ($2 == 1 ? 2 : 1) /eig; s/(.)([12])/ $1 . ($2 == 1 ? 2 : 1) /eig; this might work: s/([A-Z])([12])/ $1 . ($2 == 1 ? 2 : 1) /eig;