I use CGI::Application and for the edification of like-minded folks, here's what I came up with (basically an array of paths, the 2nd one used for site-specific tmpls):
#instance script passes in PARAMS which is also the directory with sit
+e specific .tmpls
my $site = $self->param('name_of_site');
$self->param('project' => '/usr/home/somedomain/ecomm/');
$self->param('tmpl_path' => [ $self->param('project_').'tmpls/',
$self->param('project_path').'tmpls/
+includes/'.$self->param('site') ]);
—Brad
"The important work of moving the world forward does not wait to be done by perfect men." George Eliot