You might want to check out
AxKit or
Apache::PageKit. These are both application servers written in perl that do exactly what you describe. You can find more information about AxKit at
http://www.axkit.org and
http://www.axkit.com and a good usage example at
http://www.take23.org. I'm not as familiar with PageKit, but from the description at
http://www.pagekit.org, it is a framework that uses XML to store content and
HTML::Template for presentation. One caveat here is that both systems run under mod_perl.
----
Coyote