template-toolkitでテンプレートコンパイル済みの値をファイル以外から扱えないでしょうか。
イメージとしては下記のような感じです。

my $template = Template->new();
my $compiled_tt2 = $template->compile('sample.tt2'); # ファイル:sample.tt2をコンパイルした内容を変数$compiled_tt2へ格納
print $template->process($compiled_tt2); # $compiled_tt2から出力を生成