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