in reply to CGI Question
You should consider to use start_form() and end_form() from CGI to start and finish your HTML form.
You can save many prints if you print a list of $cgi->... elements.
print $cgi->header(), $cgi->start_html('title'), $cgi->start_form(), #... your form here $cgi->end_form(), $cgi->end_html(), ;
Update: Maybe you should have a look at a templating system like HTML::Template as well. Using a templating system helps you to separate your HTML content from your perl code.
In Section
Seekers of Perl Wisdom