my $text = '1 + 2
+ dfdf'; my $output = ""; while ($text =~ m/((.*?<\/maths>)|([^<]*))/gs) { if ($2) { $output .= $2; } else { my $segment = $3; $segment =~ s/+/ + /g; $output .= $segment; } } print $output . "\n"; __END__ 1  +  2 br> + dfdf