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>
