[mod://HTML::FillInForm] rocks hard, but it neither can accept or return HTML::Tree instances, even though it works with them internally.

Therefore, those of us who operate on HTML as trees (e.g. [mod://HTML::Seamstress]) have to do all the following to leverage FillinForm:

  1. convert our HTML to a string
  2. pass it fillinform
  3. get back the result and turn it back into a tree to continue processing

Now there is a fillinform method in [mod://HTML::Element::Library] and here is how it's used:

first the html "template"

our Perl program

my %form = ( age => 77, email => 'ben@perlmon.com', zipcode => '29063-2134' ); use form_example; my $tree = form_example->new; # calls my $html = $tree->fillinform(\%form) ; warn $html;

and the html form is filled in ...

Now the Perl class to treeify our HTML

[tbrannon@devel fillinform]$ spkg.pl --base_pkg=HTMLBase form_example.html comp_root........ /home/tbrannon/prg/html-element-replacer/HTML-Element-Replacer/ex/tables/ html_file_path... /home/tbrannon/prg/html-seamstress/samples/fillinform/ html_file........ form_example.html html_file sans... form_example substr outside of string at /usr/bin/spkg.pl line 195. WARNING: the comp_root and html_file_path are not equal for the extent of comp_root... This may lead to incorrect calculations at /usr/bin/spkg.pl line 197.

DONE!

have a nice day!