Creating a 'light' CGI.pm without the HTML generation functions is a an admirable goal. However, it seems CGI::Simple has already done an excellent job at this. CGI::Simple runs much of the original CGI.pm test suite, insuring a high degree of compatibility. CGI::Utils, by constrast, has relatively few tests, and appears to be using none of the original CGI.pm tests. It appears some function names are different without great reason. For example, The "escape" function from CGI.pm is named: "urlEncode". So I would consider using CGI::Simple instead.