Perl の HTML::Template の自分用サンプルプログラム
2006-05-27-4
[Programming]
HTML::Template のドキュメント(see "perldoc -t HTML::Template") の
SYNOPSIS の自分用の補足。ドキュメント読むの面倒なとき用。
そのままコピペして動くようにしてある。
■その1
■その2(associate)
SYNOPSIS の自分用の補足。ドキュメント読むの面倒なとき用。
そのままコピペして動くようにしてある。
■その1
#!/usr/bin/perl use strict; use warnings; use HTML::Template; my $title = "Hello, World!"; my $content; if (rand(2) < 1) { $content = "Hello, Mimitako!"; } my @list = ({key=>"One", num=>1}, {key=>"Sun", num=>3}, {key=>"Go", num=>5}, {key=>"Mimitako", num=>8}); my @templete_ary = <DATA>; #my $templete_txt = join('', <DATA>); my $t = HTML::Template->new(arrayref => \@templete_ary, # scalarref => \$templete_txt, # die_on_bad_params => 0, ); $t->param(title => $title); $t->param(content => $content); $t->param(list => \@list); print $t->output(); __DATA__ T: <TMPL_VAR name=title> C: <TMPL_IF name=content><TMPL_VAR name=content><TMPL_ELSE>mumumu</TMPL_IF> L: <TMPL_LOOP name=list><TMPL_VAR name=key>=<TMPL_VAR name=num> </TMPL_LOOP>
■その2(associate)
#!/usr/bin/perl -T use strict; use warnings; use HTML::Template; use CGI; my $q = CGI->new(); my @templete_ary = <DATA>; my $t = HTML::Template->new(arrayref => \@templete_ary, associate => $q); $t->param(time => $^T); print $q->header, $t->output(); __DATA__ <html> <body> <form> key = <TMPL_VAR name=key><input type="text" name="key"><br> num = <TMPL_VAR name=num><input type="text" name="num"><br> <input type="submit"> </form> time:<TMPL_VAR name=time> </body> </html>