I've been dipping my feet in the CGI pond lately, creating some web applications for my place of employment and for a non-profit I volunteer for. I have a couple of small questions.
1) Most of the code examples I've seen involve something like $query = new CGI; (or one of its other valid formats). Is there any benefit to doing this as opposed to not using an object? In other words:
use CGI; # And other fun stuff
$q = new CGI;
print $q->header,
$q->start_html(-title=>'Title'),
p($q->foo);
# etc, etc
As opposed to:
use CGI; # And other fun stuff
print header,
start_html(-title=>'Title'),
p(param "foo");
# etc, etc
Any benefits? Downsides? Places where one would be beneficial over the other?
2) To branch off of #1 and anticipate a possible answer, is it possible to have more than one cgi object, and would there be a purpose for this, such as creating multiple forms with multiple submit buttons? Or is it superfluous in this case?
3) Not really OOP, but still CGI: Is there a way in Perl/CGI to make a popup_menu submit on select? Or will I have to use Javascript event handlers or something similar (of which I have very little knowledge, heh)?