while ( ) {} #### #!/usr/bin/perl my $string = 'abc abc abc \textit{abc abc} abc \textit{abc abc \textbf{abc \textbf{abc abc} abc} abc} abc.'; while ($string =~ s/\\text(i|b)[tf]\{([^{}]*)\}/<$1>$2<\/$1>/g) {} print $string;