perlfaq9 has the above question, and the answer begins: > If you are writing a CGI script, you should be using the CGI.pm module > that comes with perl, or some other equivalent module. And yes, CGI imports escape and unescape from CGI::Utils but perldoc CGI::Utils says: > DESCRIPTION: no public subroutines So I guess using CGI::escape and CGI::unescape amounts to using undocumented features of CGI. In light of that, I suggest the answer to the FAQ to be misleading. At least I have no idea how to "decode or create those %-encodings on the web" from reading perldoc CGI. I suggest one of: * Document escape and unescape in perldoc CGI (please, please, please!) * Elaborate on how this escaping and unescaping can be achieved using only the documented interface In any event, I find the FAQ answer is not currently useful as far as CGI goes. PeterThread Next