I think something to consider here is HTML::Mason.
It's based on mod_perl, so it scales better to large
traffic than CGI (though pure mod_perl is more efficient).
It separates the HTML from the Perl, so HTML people can do
their thing while you do your thing.