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


Manual Reference Pages  -  HTML::FILLINFORM::LITE (3)

.ds Aq ’

NAME

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

CONTENTS

VERSION

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

SYNOPSIS



    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::DBIs 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);



DESCRIPTION

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.

FUNCTIONS

    fillinform(source, form_data)

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.

METHODS

    new(options...)

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

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.

    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 <B>sameB> 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 CWHTML::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/>.

SEE ALSO

HTML::FillInForm.

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

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

AUTHOR

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

LICENSE AND COPYRIGHT

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.

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


perl v5.20.3 HTML::FILLINFORM::LITE (3) 2016-03-17

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