Perhaps I'm missing something in what you're trying to do, but you might
try Apache::SOAP. Apache::SOAP makes it super-easy to call perl
subroutines running under mod_perl.
I have something like this in my apache config, which maps requests to a
Perl module:
SetHandler perl-script
I have some experience using Gossamer Threads Forum:
http://gossamer-threads.com/scripts/gforum/index.htm
It's not free, but at $200 it's pretty cheap. Runs under mod_perl, has
a templating system, and my favorite: it has a plugin architecture that
lets you override just about any of its function