The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::FillInForm::Lite::JA - HTMLフォームにデータを充填する

VERSION

The document describes HTML::FillInForm version 0.04

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,    \&get_param);
        $output = $h->fill('t.html', [$q, \%default]);

        $output = $h->fill(\$html, $q,
                fill_password => 0, # it is default
                ignore_fields => ['foo', 'bar'],
                        # or disable_fields => [...]
                target        => $form_id,
        );

DESCRIPTION

このモジュールはHTMLのフォームにデータを充填します。 これはHTML::FillInFormを再実装したものです。

HTML::FillInFormHTML::Parserによって実装されていますが、 このモジュールは正規表現ベースで実装されており、その結果 HTML::FillInForm::LiteHTML::FillInFormより2倍以上高速に動きます。

METHODS

new(options...)

HTML::FillInForm::Liteのインスタンスを作成します。

受け付けるオプションは以下の通りです。 オプションに未定義値を渡すと、そのオプションそのものを無視します。

fill_password => bool_value

HTML::FillInFormと違い、規定の状態ではfill()メソッドは パスワードフォームを無視します。

このオプションを真に設定すると、パスワードも充填されるようになります。

ignore_fields => array_ref_of_fields
disable_fields => array_ref_of_fields

指定したフォームフィールドを無視するようにします。

target => form_id

form_idをもつフォームのみを処理対象にします。

ignore_type => array_ref_of_types

指定したフォームタイプを無視するようになります。

このオプションはHTML::FillInFormでは実装されていません。

escape => bool | ref

オプションを指定しないか、真を指定した場合、テキストフィールドに充填される 値はHTMLエスケープされます。

偽を指定すると、値はHTMLエスケープされません。

コードリファレンスを指定すると、値のエスケープにそのコードリファレンスを使います。

このオプションはHTML::FillInFormでは実装されていません。

fill(source, form_data [, options...])

souceform_dataで充填します。 オプションはnew()と同じです。

このメソッドはクラスメソッドとしてもインスタンスメソッドとしても 呼び出せます。しかしfill()を同じoptionsで何度も呼び出す場合は、 fill()の前にnew()でインスタンスを作っておくと少し高速になります。

LIMITATIONS

HTML::FillInFormとの互換性

このモジュールはHTML::FillInForm2.0の新しい構文のみ実装しています。

古いHTMLとの互換性

このモジュールはXHTML1.xに対応しています。 また、HTML4.xの大部分もサポートしていますが、一部制限があります。 まず、HTML4では許されている属性名の省略はできません。

たとえば:

        <INPUT TYPE=checkbox NAME=foo CHECKED> - NG.
        <INPUT TYPE=checkbox NAME=foo CHECKED=CHECKED> - OK, ただし古い書き方
        <input type="checkbox" name="foo" checked="checked" /> - OK, 正しいXHTML

さらに、このモジュールは常に属性値の大文字・小文字を区別します。 上記の例では、type属性の値は小文字でなければなりません。

コメントの扱い

HTML::FillInForm::Liteはコメントやその他の無視すべきものを理解しないので、 処理できるものは全て処理します。

このことが問題になることがあります。たとえば以下のコード:

        <script> document.write("<input name='foo' />") </script>

これは次のような誤ったコードに置換されます:

        <script> document.write("<input name='foo' value="bar" />") </script>

このような問題を避けるためにignore_fieldsオプションが使えます。

SEE ALSO

HTML::FillInForm.

AUTHOR

Goro Fuji (藤 吾郎) <gfuji(at)cpan.org>

LICENSE AND COPYRIGHT

Copyright (c) 2008 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.