Lincoln Stein himself uses the functional interface in all his training examples.
I can see three times to use the object interface (mind you I just woke up
five minutes ago {grin}):
When I'm unsure if saying use CGI qw(:standard) will collide with
existing subroutines, such as grafting a CGI front onto some previous command-line
program
In a mod_perl environment, to keep from creating 240 stabs
(as we discussed earlier in a thread about CGI.pm's performance) in each
Apache::Registry-managed handler
When I want to have more than one CGI object in a single program (to save
and restore parameters to persistant storage, for example)
Other than that, use the functional form! Much less typing.