in reply to find and replace

just try this

$input=':<exp>2aF+-b&amp;2z4676</exp><br>'; $input =~ s/(<exp>)(.*?)(<\/exp>)/$1.&exp($2).$3/egsi; print $input; sub exp { my ($a)=@_; $a =~ s/[a-z]+/<it>$&<\/it>/gsi; $a =~ s/(&)(.*?)(;)/$1.&amp($2).$3/egsi; sub amp { my ($m)=@_; $m =~ s/<\/?it>//gsi; return($m); } return($a); } output: :<exp>2<it>aF</it>+-<it>b</it>&amp;2<it>z</it>4676</exp><br>

senthil kumar.k