in reply to CGI qw/:standard/;

If you're concerned about invalid or malicious data, I'd suggest also enabling Taint checking in your scripts. At the start, on the hash bang line, add -T:
#!/usr/bin/perl -wT That will cause the interpreter to see if you're interpreting any user data insecurely. It won't catch everything, but it will catch some nasty things.

Also, CGI takes most of the work out of handling CGI stuff. You'll probably love it once you figure it out.