in reply to Re-writing CGI.pm

My best advice would be to put use CGI; at the beginning of your script.

More seriously, could you please explain why do you want to re-write a module which has proven itself to be stable, bug-free, reliable?

You may also want to look at Ovid's most excellent node dealing with the subject: use CGI or die;

<kbd>--
PerlMonger::Paris(http => 'paris.pm.org');</kbd>