my %subst = (      q|&| => q|&|,      q|"| => q|"|,      q|<| => q|<|,      q|>| => q|>|,      q|'| => q|&'|,      q|`| => q|&`|,     ); my $re = join '|', map quotemeta, keys %subst; $data =~ s/($re)/$subst{$1}/g;