in reply to CGI.pm vs. CGI modules

CGI.pm is included with the Perl core distribution, so you can reasonably expect your code to run pretty much anywhere (barring other non-portable things of course). This may or may not be an advantage for you.

I agree with you that clear separation of functionality is a good thing, and that CGI.pm tries to do everything. Even the author of CGI.pm admits that it should be discarded in favour of better-designed modules.

As with anything, I think it depends on what you want to do. I'm only familiar with CGI.pm, and know nothing (yet :-) about the other CGI modules you mention. If the separate modules (CGI::Base, etc.) have the functionality you need, I'd say go for it, and don't use CGI.pm.

--
All that is gold does not glitter...