$templateにあるけど%varsにはないのがある、つまり%varsに値をセットし忘れているときに、
- それとわかる文字列(「FIXME」とか)に置換するか
- processがエラーになる
ようにはできないものかとドキュメントとソースとにらめっこ中。
例えば、
#!/usr/bin/env perl # Time-stamp: <2007-04-23 19:23:15 JST, hirose> use strict; use warnings; use Template; my $template = q@ - name: [% name %] himitsu: [% wasurechadamedakarane %] country: [% country %] @; my %vars = ( name => 'hirose31', # wasurechadamedakarane => 'nanndakke?', # ←すっかり忘れてる様 country => 'Japan', ); my $tt = Template->new; $tt->process(\$template, \%vars) or die $!; __END__
なときに、
- name: hirose31 himitsu: FIXME country: Japan
か、or die して欲しいの。
DEFAULT だといちいち変数名を並べないとだめぽいのでめんどい。
AUTOLOADみたいな感じにfallbackできる仕組みがありそげな気がするんだけど…
2007-05-20 追記
Template::Stash::Strictで、processでor dieできるのを教えてもらいましたー これこれこれですー
あざーっす!!> id:tokuhirom