HTML-FillInForm-Lite
view release on metacpan or search on metacpan
You can also supply a subroutine reference to decode HTML entities.
Note that `HTML::FillInForm` always decodes HTML entities in state fields,
but not supports this option.
- layer => _:iolayer_
To read a file with _:iolayer_. It is used when a file name is supplied as
_source_.
For example:
# To read a file encoded in UTF-8
$fif = HTML::FillInForm::Lite->new(layer => ':utf8');
$output = $fif->fill($utf8_file, $fdat);
# To read a file encoded in EUC-JP
$fif = HTML::FillInForm::Lite->new(layer => ':encoding(euc-jp)');
$output = $fif->fill($eucjp_file, $fdat);
Note that it is not implemented in `HTML::FillInForm`.
## fill(source, form\_data \[, options...\])
Fills in _source_ with _form\_data_. If _source_ or _form\_data_ is not
supplied, it will cause `die`.
_options_ are the same as `new()`'s.
You can use this method as a both class or instance method,
but you make multiple calls to `fill()` with the **same**
options, it is a little faster to call `new()` and store the instance.
_source_ may be a scalar reference, an array reference of strings, or
a file name.
_form\_data_ may be a hash reference, an object with `param()` method,
an object with accessors, a code reference, or an array reference of
those above mentioned.
If _form\_data_ is based on procedures (i.e. not a hash reference),
the procedures will be called in the list context.
Therefore, to leave some fields untouched, it must return a null list `()`,
not `undef`.
# DEPENDENCIES
Perl 5.8.1 or later.
# NOTES
## Compatibility with `HTML::FillInForm`
This module implements only the new syntax of `HTML::FillInForm`
version 2. However, `HTML::FillInForm::Lite::Compat` provides
an interface compatible with `HTML::FillInForm`.
## Compatibility with legacy HTML
This module is designed to process XHTML 1.x.
And it also supporting a good part of HTML 4.x , but there are some
limitations. First, it doesn't understand HTML-attributes that the name is
omitted.
For example:
<INPUT TYPE=checkbox NAME=foo CHECKED> -- NG.
<INPUT TYPE=checkbox NAME=foo CHECKED=checked> - OK, but obsolete.
<input type="checkbox" name="foo" checked="checked" /> - OK, valid XHTML
Then, it always treats the values of attributes case-sensitively.
In the example above, the value of `type` must be lower-case.
Moreover, it doesn't recognize omitted closing tags, like:
<select name="foo">
<option>bar
<option>baz
</select>
When you can't get what you want, try to give your source to a HTML lint.
## Comment handling
This module processes all the processable, not knowing comments
nor something that shouldn't be processed.
It may cause problems. Suppose there is a code like:
<script> document.write("<input name='foo' />") </script>
`HTML::FillInForm::Lite` will break the code:
<script> document.write("<input name='foo' value="bar" />") </script>
To avoid such problems, you can use the `ignore_fields` option.
# BUGS
No bugs have been reported.
Please report any bug or feature request to <gfuji(at)cpan.org>,
or through the RT [http://rt.cpan.org/](http://rt.cpan.org/).
# SEE ALSO
[HTML::FillInForm](https://metacpan.org/pod/HTML::FillInForm).
[HTML::FillInForm::Lite::JA](https://metacpan.org/pod/HTML::FillInForm::Lite::JA) - the document in Japanese.
[HTML::FillInForm::Lite::Compat](https://metacpan.org/pod/HTML::FillInForm::Lite::Compat) - HTML::FillInForm compatibility layer
# AUTHOR
Goro Fuji (è¤ å¾é) <gfuji(at)cpan.org>
# LICENSE AND COPYRIGHT
Copyright (c) 2008-2010 Goro Fuji, Some rights reserved.
( run in 0.369 second using v1.01-cache-2.11-cpan-0bd6704ced7 )