Just as a note, there are two ways to use CGI.
- Object-oriented mode, where you have a query object and you use it to do all your dirty work
- Non-object-oriented mode (i.e. procedural), where you import the functions and use them directly
While there are presumably some perverse applications where
using both methods simultaneously is advantageous, your
script is not one of them. Since you are using OO mode in
your code, the import parameter to
use CGI
is strictly unnecessary, and some would argue, "cargo cult programming". The ":standard" tag means to
import the
standard HTML functions. It does not mean to use "standard CGI".
Object-Oriented:
use CGI;
my $q = new CGI;
print $q->header();
my $v = $q->param('v');
# etc...
Procedural:
use CGI qw[ :standard ];
print header();
my $v = param('v');
# etc...
Nary should the two be confused.