This solution has it's merits as well. However for a small script that uses just one database handle but only 1 call to the module (let's say CGI::SQL), then I get a call like this:
my $obj = new CGI::SQL($DBH);
my $result = $obj->insert_sql_from_param;
So, I end up writing two lines and making two calls where I might just make one with another solution. However, if I made lots of calls to CGI::SQL in my script, this overhead would be low and worthwhile.
I'll consider working with this solution. Thanks!