in reply to Help with Template Workflow

Since I can't put a template inside a template

But you can, with <TMPL_INCLUDE>.

As for the template names, you can build a hash:

my %templates = ( faq => 'faq.tmpl', home => 'home.tmpl', new => 'news.tmpl', ... );

And instead of calling a function for each page, just read the corresponding template.