HTML::FillInFormを学ぶ
ちょっと使いたくなってみたぁ・・ 配列のときの動きが良く分からないので、試してみよう。
use strict;
use HTML::FillInForm;
my $hidden_form_in = qq{<INPUT TYPE="TEXT" id="foo_0" name="foo" value="nada">
<input type="hidden" id="foo_1" name="foo" value="nonda"/>};
my %fdat = (foo => ['bar1','bar2']
);
my $fif = new HTML::FillInForm;
my $output = $fif->fill(scalarref => \$hidden_form_in,
fdat => \%fdat);
print $output;
実行結果は以下のようになりました。
<input value="bar1" name="foo" id="foo_0" type="TEXT">
<input value="bar2" name="foo" id="foo_1" type="hidden" />
うまく行った。
じゃ、これだとどうだ。
use strict;
use HTML::FillInForm;
my $hidden_form_in = qq{<INPUT TYPE="TEXT" id="foo[0]" name="foo" value="nada">
<input type="hidden" id="foo[1]" name="foo" value="nonda"/>};
my %fdat = (foo => ['bar1','bar2']
);
my $fif = new HTML::FillInForm;
my $output = $fif->fill(scalarref => \$hidden_form_in,
fdat => \%fdat);
print $output;
これもうまくいった。
<input value="bar1" name="foo" id="foo[0]" type="TEXT">
<input value="bar2" name="foo" id="foo[1]" type="hidden" />
じゃ、これだとどうだ。
use strict;
use HTML::FillInForm;
my $hidden_form_in = qq{<INPUT TYPE="TEXT" id="are" name="foo" value="nada">
<input type="hidden" id="dore" name="foo" value="nonda"/>};
my %fdat = (foo => ['bar1','bar2']
);
my $fif = new HTML::FillInForm;
my $output = $fif->fill(scalarref => \$hidden_form_in,
fdat => \%fdat);
print $output;
これもうまくいった。
<input value="bar1" name="foo" id="are" type="TEXT">
<input value="bar2" name="foo" id="dore" type="hidden" />
nameを同じにして、idはFillinでは意味なく、HTMLの記述順と 配列の順番が同じように出力されるだけなんだなぁ。