Template Toolkitを使ってみる
お仕事でちょっと使うので今更ながらPerlのTemplate Toolkitを試してみる。
環境はWindowsXPSP2、ActivePerl5.8.819
CAPNから
- Template-Toolkit-2.15.tar.gz
をもってきて解凍。libの配下をそのまま/perl/site/lib配下に放り込む。
ネットの情報を真似てサンプルを書いてみる。
template_toolkit_practice.pl
use strict; use warnings; use Template; my $template = Template->new(); my $tt_file = 'tt_practice.tt'; my $params = { date => "今日", name => "redrisefirm", action => "よく寝てる・・・", items => ["眠気","ダルさ","不安"], info => { sex => '陽性', old => -45, blood => '+型', } }; $template->process( $tt_file, $params, ) or die $!;
でコレ用のテンプレートはこんな感じ
tt_practice.tt
<html> <head> <title>Template Toolkit Practice</title> </head> <body> <h1>まずは基本</h1> [% name %]さんは[% date %]も[% action %] <hr> <h1>配列だってお茶の子サイサイ</h1> [% name %]さんはこんなものを持っています。<br> <ol> [% FOREACH item IN items %] <li>[% item %]</li> [% END %] </ol> <hr> <h1>ハッシュはどうなる?</h1> [% name %]さんの血液型は[% info.blood %]です。 <h2>ついでにIFも試してみよう。</h2> [% name %]さんの年齢は[% info.old %]歳です。 [% IF info.old >= 0 %] それって本当? [% ELSE %] ウソをつけ、ウソを [% END %] <h1>ハッシュループも余裕ですなw</h1> <ul> [% FOREACH word IN info.keys %] <li>[% word %]:[% info.$word %]</li> [% END %] </ul> </body> </html>
出力先を特に指定してないのでSTDOUTに出る。リダイレクトでHTMLに出力してみた。
perl -w template_toolkit_practice.pl > tmp.html
でそれをブラウザで表示してみて確認。おぉ、ちゃんと出てる。すげぇ〜