in reply to So, what *is* the best way to deliever dynamic content nowadays?
I use CGI::Application in combination with Postgres and I'm very happy them both. I like organization that CGI::App encourages. In that framework, it's easy to create a single code line that powers multiple sites at the same time with different template sets and parameters. Because a maximum amount of code is in modules, potential re-use is maximized.
I like Postgres because it's feature-rich. I've also used MySQL and found that it's often much faster to code a solution using Postgres. The one thing I hear in favor of MySQL is a "speed difference". In my real world application of using Postgres for dozens of projects for a website development firm, the speed has always been good. I'd throw mod_perl at a project before I would switch to MySQL. :)
You can see an example of CGI::App and Postgres in action in my Cascade project, a content management system.