CGI.pm can be used in two distinct modes called function-oriented and object-oriented. In the function-oriented mode, you first import CGI functions into your script's namespace, then call these functions directly: ->use CGI qw(:standard);

In the object-oriented mode, you use CGI; without specifying any functions or function sets to import. In this case, you communicate with CGI.pm via a CGI object. ->use CGI; $q = new CGI;

I have never used the function-oriented mode because its load all the standard function into your cgi-script(making compile time longer)