in reply to Using CGI.pm

Let me run slightly counter to the advice that you got from everyone else.

Yes, use the param() method of CGI to parse form data.

Do not use it as a method of producing HTML for anything but the simplest of scripts. When you use it, you guarantee that all HTML coding has to be done by a programmer, and translation to and from any external layout tools will be a real PITA. Unless you want to find people who are both decent programmers and decent HTML designers, that is a poor way to factor work.

See Re (tilly) 6: Code Critique for a somewhat theoretical explanation of the real tradeoffs between different approaches to generating HTML in code.