今更ながら、HTML::Templateのドキュメントをきちんと読んでみたところ、こんなオプションを発見。
http://perldoc.jp/docs/modules/HTML-Template-2.6/HTML/Template.pod
associate - このオプションは他のオブジェクトからパラメータ値を 継承することを可能にします。 他のオブジェクトへの唯一の必要事項は、 HTML::Template のように機能する param() メソッドを持っていることです。 よい候補は CGI.pm の query オブジェクトです。例:
my $query = new CGI; my $template = HTML::Template->new(filename => 'template.tmpl', associate => $query);そして $template->output() は以下のようになります:
$template->param('FormField', $cgi->param('FormField'));のように $cgi->param() メソッドにより提供されるであろう キー/値のペアがそれぞれ指定されたかのように動きます。 直接指定したパラメータは associate されたパラメータよりも優先されます。
associate オプションに無名配列を渡すことにより複数のオブジェクトを 関連付けるように指定することが出来ます。 それらは指定した順序でパラメータが検索されます:
・・・・・・うーむ。
ちょっとだけ車輪の再発明が無駄に思えた瞬間でした。こんな風に動作するものをいくつ作ったことか・・( ´_ゝ`)
てか、ドキュメントはちゃんと読もうね。>自分
Perl Template Toolkit、早く翻訳されないかなぁ・・。