in reply to CGI.pm vs no CGI.pm

You really don't have to use CGI.pm. By saying that I mean that you should use one of the modules for reading form data from CPAN rather than coding it yourself. I believe there's quite a few modules for this purpose: CGI::Minimal (I use that instead), CGI::Lite, etc...