As with any module, the parameters after the
use MODULE_NAME
statement are forwarded to the
import method of the requested module.
Exporter normally handles the exporting of functions from
the module into the calling package namespace so that you can just
use a function without a package name:
use XYZ;
print XYZ::SpecialFunction(),"\n";
# versus:
use XYZ qw ( SpecialFunction );
print SpecialFunction(),"\n"; # SpecialFunction imported
Exporter also allows you to group together a bunch of exports
with a "tag" to simplify usage. ':standard' is such a tag,
and it will import a whole bunch of useful functions without
you having to name them.
As
eg pointed out, since you aren't calling these functions
directly, you won't have to worry about importing them. Using
the object-oriented method means that you will always specify
"$query->function()" so that Perl will know where to fetch
that function from.
So, if you want to use the object-oriented method, like you
have with the 'new CGI' call, then don't import anything since
you don't need it. However, if you aren't using that, and you
want to slam out code quickly using the CGI methods, then
import what you need (i.e. ':standard' for example) and then
go wild:
print hr(),table(tr(td('My Table Content'))),"\n";