while(my $line=){ if($line =~ /([\s\S]+?)<\/cc>/){ #print $name_pre; my $name=$1; my $name_pre = $1; $name=~ s/&amp;/&/g; $name=~ s/&/-/g; $name =~ s/-$//; $name_pre=~ s/\Q$name_pre\E/\Q$name\E/g; $name_pre =~ s/\\//g; } } __DATA__ fg-&amp;&+(and(we- 6VE4AGAfg-&amp;&+(and(we-fg-&amp;sonia&-nd_&amp;lio_(we-