To try and answer your questions ..
in reply to OOP in CGI
As neniro points out, one of the benefits of using the OO interface for the CGI module is the fact that it doesn't cause namespace pollution. For large applications, that's an obvious advantage; for small applications less so.
Other benefits would include the potential to use multiple CGI objects, but why would you want to? Submit buttons can have values to distinguish them, which can be read as parameters if you give your buttons names.