in reply to alternatives to cgi.pm

you can specify the methods from CGI.pm that you want to import, ie:

use CGI qw/ form /;

or
use CGI qw/ cgi /;
to only import the form-handling methods, or the cgi-related methods.

this will allow for using CGI.pm for parsing, and still allow you to generate your own HTML.