This is one of the reasons why I like CGI::Lite. Besides CGI::Lite being very speedy, it puts all of the variables into a hashref (or hash if you like) so that you can use it in any context that you would use your variables in. Start with this:
use CGI::Lite;
my $cgi = new CGI::Lite;
Then, you can do either one of the following, depending on your preference:
$form = $cgi->parse_form_data;
%form = $cgi->parse_form_data;
$form = $cgi->parse_form_data ('GET', 'HEAD' or 'POST');
Quick, easy, and all in a neat little hash, ready for you to use in statements like thise:
print "blabla bla bla $form->{entry} blabla<br>\n";
Yes, I know that you could write something to put your CGI.pm params into a hash, but then I couldn't write a plug for CGI::Lite, could I? If you're not using some of the big features of CGI.pm, like html generation, you're better off with CGI::Lite. Either way, like others have said here, get your incoming variables out of the main namespace.