みなさんこんにちわ!みなさんはテンプレート使ってますね! Xslate つかってますね! TTerse 使ってますね!今回はうっかりハマってしまう罠を教えます! SET で作った変数はブロックスコープである ブロックスコープなんだけど SET したスコープの中にあるブロックはスコープの対象外なので以下のテストは動かなかったりするんだ。 my $tx = Text::Xslate->new({ syntax => 'TTerse' }); my $ret = $tx->render_string(<<TMPL,); [% SET chin = 'kiru' -%] [% MACRO xaicron BLOCK -%] [% chin = 'kiranai' -%] [% chin -%] [% END -%] [% xaicron() -%] [% chin -%] TMPL is $ret