I'd have a look at HTML::Template::Expr or Petal (the Plone template system). Especially the last (petal) makes it possible for html-guru's to write html without having to concern about Perl. I prefer HTML::Temlate::Expr over HTML::Template, becouse you can use simple expressions (though that should be avoided :-) ).