GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
HTML::FillInForm::Lite(3) User Contributed Perl Documentation HTML::FillInForm::Lite(3)

HTML::FillInForm::Lite - Lightweight FillInForm module in Pure Perl

The document describes HTML::FillInForm::Lite version 1.13

    use HTML::FillInForm::Lite;
    use CGI;

    my $q = CGI->new();
    my $h = HTML::FillInForm::Lite->new();

    $output = $h->fill(\$html,    $q);
    $output = $h->fill(\@html,    \%data);
    $output = $h->fill(\*HTML,    \&my_param);
    $output = $h->fill('t.html', [$q, \%default]);

    # or as a class method with options
    $output = HTML::FillInForm::Lite->fill(\$html, $q,
        fill_password => 0, # it is default
        ignore_fields => ['foo', 'bar'],
        target        => $form_id,
    );

    # Moreover, it accepts any object as form data
    # (these classes come form Class::DBI's SYNOPSIS)

    my $artist = Music::Artist->insert({ id => 1, name => 'U2' });
    $output = $h->fill(\$html, $artist);

    my $cd = Music::CD->retrieve(1);
    $output = $h->fill(\$html, $cd);

    # simple function interface
    use HTML::FillInForm::Lite qw(fillinform);

    # the same as HTML::FillInForm::Lite->fill(...)
    $output = fillinform(\$html, $q);

This module fills in HTML forms with Perl data, which re-implements "HTML::FillInForm" using regexp-based parser, not using "HTML::Parser".

The difference in the parsers makes "HTML::FillInForm::Lite" about 2 times faster than "HTML::FillInForm".

Simple interface to the "fill()" method, accepting only a string. If you pass a single argument to this function, it is interpreted as form_data, and returns a function that accepts source.

    my $fillinform = fillinform($query);
    $fillinform->($html); # the same as fillinform($html, $query)

This function is exportable.

Creates "HTML::FillInForm::Lite" processor with options.

There are several options. All the options are disabled when "undef" is supplied.

Acceptable options are as follows:

fill_password => bool
To enable passwords to be filled in, set the option true.

Note that the effect of the option is the same as that of "HTML::FillInForm", but by default "HTML::FillInForm::Lite" ignores password fields.

ignore_fields => array_ref_of_fields
To ignore some fields from filling.
target => form_id
To fill in just the form identified by form_id.
escape => bool | ref
If true is provided (or by default), values filled in text fields will be HTML-escaped, e.g. "<tag>" to be "&lt;tag&gt;".

If the values are already HTML-escaped, set the option false.

You can supply a subroutine reference to escape the values.

Note that it is not implemented in "HTML::FillInForm".

decode_entity => bool | ref
If true is provided , HTML entities in state fields (namely, "radio", "checkbox" and "select") will be decoded, but normally it is not needed.

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".

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".

Perl 5.8.1 or later.

This module implements only the new syntax of "HTML::FillInForm" version 2. However, "HTML::FillInForm::Lite::Compat" provides an interface compatible with "HTML::FillInForm".

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.

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.

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/>.

HTML::FillInForm.

HTML::FillInForm::Lite::JA - the document in Japanese.

HTML::FillInForm::Lite::Compat - HTML::FillInForm compatibility layer

Goro Fuji (X XX) <gfuji(at)cpan.org>

Copyright (c) 2008-2010 Goro Fuji, Some rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2022-04-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.