HTML::FillInForm
HTML::FillInFormの使い方がイマイチわからないよ、と思っていたんです。
でも、ちょっとわかったので、ソース(最近こんな感じばかり)
テンプレートのHTML(index.html)
<table cellspacing="0" cellpadding="0" border="1"> <tr valign=""> <td>名前</td> <td><input type="text" name="name" value=""></td> </tr> <tr valign=""> <td>サブジェクト</td> <td><input type="text" name="subject" value=""></td> </tr> </table>
スクリプト
#!/usr/local/bin/perl
use strict;
use CGI;use HTML::FillInForm;
use HTML::Template;#1 CGI.pmを使用する
my $cgi = CGI->new;
$cgi->param( "name", "John Smith" );
$cgi->param( "subject", "題名" );#2 HTMLを読み込む
my $template = HTML::Template->new( filename => './index.html' );
my $html = $template->output();#3 CGI.pmの値を埋め込む
my $fif = new HTML::FillInForm;
my $output = $fif->fill(scalarref => \$html, fobject => $cgi);
出力結果
<table cellspacing="0" cellpadding="0" border="1"> <tr valign=""> <td>名前</td> <td><input value="John Smith" name="name" type="text"></td> </tr> <tr valign=""> <td>サブジェクト</td> <td><input value="題名" name="subject" type="text"></td> </tr> </table>
という感じで。なるほどなあ。でね、ここでいくつかあったのは
- HTML::Parserを必ず使う
- Template::Toolでも使えた
- 他にもいろいろ機能があるらしい
というわけで、CGI.pmとの組み合わせを行うとすると、CGI.pmについて知りたいな、という考えが..。