mod_perl and CGI.pm aren't mutually exclusive; mod_perl embeds a Perl interpreter in the Apache binary; apart from saving the overhead of starting the interpreter and compiling the Perl script for each time it is requested, it also gives you 'hooks' into the handling of the request. So it's faster and far more powerful than traditional CGI scripts (which run outside of the web server and typically only communicate with it via the environment variables), but by itself it doesn't parse user input or generate HTML. Of course, in a mod_perl environment it makes sense to implement a templating system, so you may not need the latter.
I mistrust all systematizers and avoid them. The will to a system shows a lack of integrity