$ perl -le' my $x = "AAAAAXXXXXXXAAAXXXXXAXXXXAAAA"; print $x; $x =~ s/(?<=A)X+(?=A)/ "A" x ( $+[0] - $-[0] ) /eg; print $x; ' AAAAAXXXXXXXAAAXXXXXAXXXXAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA #### $ perl -le' my $x = "AAAAAXXXXXXXAAAXXXXXAXXXXAAAA"; print $x; $x =~ s/(?<=A)X+(?=A)/@{[ "A" x ( $+[0] - $-[0] ) ]}/g; print $x; ' AAAAAXXXXXXXAAAXXXXXAXXXXAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA