GSP
Quick Navigator

Search Site

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

Support
Customer Portal
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::JA(3) User Contributed Perl Documentation HTML::FillInForm::Lite::JA(3)

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

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

        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]);
        $output = $h->fill(\$html, $q,
                fill_password => 0, # it is default
                ignore_fields => ['foo', 'bar'],
                target        => $form_id,
        );
        # Moreover, it accept any object as 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);

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

"HTML::FillInForm""HTML::Parser"によって実装されていますが、 このモジュールは正規表現ベースで実装されています。 その結果、"HTML::FillInForm::Lite""HTML::FillInForm"より最大で2倍ほど 高速に動作します。

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

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

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

このパスワードの効果は"HTML::FillInForm"と同じですが、 このオプションを指定しなければ、"HTML::FillInForm::Lite"は パスワードフィールドを無視します。

指定したフォームフィールドを無視するようにします。
form_idをもつフォームのみを処理対象にします。
オプションを指定しないか、1(真)を指定した場合、テキストフィールドに充填される 値はHTMLエスケープされます。

すでに値がHTMLエスケープされている場合は、0(偽)を指定してください。

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

このオプションは"HTML::FillInForm"には存在しません。

このオプションに1(真)を指定した場合、状態を持つフィールド (つまり、radio/checkbox/select)の値にあるHTML実体参照がデコードされます。 しかし,通常はこのオプションは必要ありません。

サブルーチンリファレンスを指定すると、実体参照のデコードに そのサブルーチンを使います。

"HTML::FillInForm"は自動的に状態フィールドのHTML実体参照をデコードしますが, このオプションそれ自体は存在しません。

ファイルを読み込むときに:iolayerを指定するようにします。 これはソースとしてファイル名が渡されたときに使われます。

使用例:

        # UTF-8でエンコードされたファイルを読むとき
        $fif = HTML::FillInForm::Lite->new(layer => ':utf8');
        $output = $fif->fill($file, $fdat);
        # EUC-JPでエンコードされたファイルを読むとき
        $fif = HTML::FillInForm::Lite->new(layer => ':encoding(euc-jp)');
        $output = $fif->fill($file, $fdat);
    

sourceform_dataで充填します。sourceまたはform_dataが渡されない場合、"die"します。

オプションはnew()と同じです。

このメソッドはクラスメソッドとしてもインスタンスメソッドとしても 呼び出せます。

fill()同じoptionsで何度も呼び出す場合は、 fill()の前にあらかじめnew()でインスタンスを作っておくと少し高速になります。 しかし、同じインスタンスにつき一度しか呼び出さないなら、インスタンスを作った としてもパフォーマンスは上がりません。

sourceとしては,スカラーリファレンスか文字列の配列リファレンス, ファイル名,ファイルハンドルを渡すことが出来ます。

form_dataとしては,ハッシュリファレンスかparam()メソッドを持つ オブジェクト,アクセサを持つ任意のオブジェクト,前述のいずれかからなる 配列リファレンスを渡すことが出来ます。

form_dataがオブジェクトであれば,そのメソッドはリストコンテキストで呼ばれます。したがって,フィールドに手を付けたくない場合,"undef"ではなく空リスト"()"を返さなければいけません。

Perl 5.8.1以上

このモジュールは"HTML::FillInForm"バージョン2の新しい構文のみ実装しています。

"HTML::FillInForm::Lite::Compat""HTML::FillInForm"バージョン1の構文をサポートし, オプションのデフォルト値も"HTML::FillInForm"と同じになっています。

古い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"属性の値は小文字でなければなりません。

さらに、閉じタグは省略できません。たとえば以下のようなコードは単に無視します。

        <select name="foo">
                <option>bar
                <option>baz
        </select>

正しいXHTMLで書けばこれらの問題は起こりません。

コメントの扱い

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

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

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

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

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

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

No bugs have been reported.

Please report any bug or feature request to <gfuji(at)cpan.org>, or through RT <http://rt.cpan.org/>.

HTML::FillInForm.

HTML::FillInForm::Lite.

HTML::FillInForm::Lite::Compat.

Goro Fuji (藤 吾郎) <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.

2016-08-21 perl v5.42.2

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.