in reply to Substitute within a search

$str = "&lt;pre><br>\n&lt;/pre>"; while($str =~ /(&lt;pre>.*?&lt;\/pre>)/gsi) { my $pos = pos $str; substr($str, pos($str) - length($1), length($1)) =~ s/<BR>\n/\n/ +gsi; pos($str) = $pos; } print $str;