$STRING =~ tr/a-mN-ZA-Mn-z0-9.&@=/H-Mn-z0-9.&@=a-mN-ZA-G/; $STRING =~ s/([=&@\\\s%\/#"'\+\|\?])/ sprintf ".%x", ord $1 /ge;