Mini-HTML/File-Splitter
-----------------------
概要:
このモジュールは、主に HTML ファイルから特定の部分を抽出する機能を提供す
るものです。
このモジュールの機能を利用することで、CGI の作成時に HTML を Perl スクリ
プトの中に埋め込まず、別に用意した HTML ファイルから CGI で利用する部分だ
けを実行時に動的に取り込むような使い方を想定しています。
そうすることで、HTML の画面デザインと CGI のスクリプトの相互の依存度を減
らすことが出来、相互に独立した作成や修正がよりやり易くなります。
(この公開版の前に、ある CGI 用の Perl スクリプト向けに作ったモジュールが
土台になっているのですが、それがこのような使い方のためでした)
最近でいえば、XML + XSLT + Java/Perl...etc という方法もありますが、まだ
まだ HTML + Perl も現役。このようなモジュールが役立つ場面もあるのではない
でしょうか。
このモジュールアーカイブは、次のクラスを提供しています。
MiniSplit::HtmlSplit - HTML からのテキスト抽出クラス。
HTML から特定部分の抽出機能を提供するクラス。
MiniSplit::FileSplit - ファイルからのテキスト抽出汎用クラス。
HtmlSplit の親クラスの、テキストファイル一般からの特定部分の抽出
機能を提供するクラス。
HtmlSplit のほとんどの実処理部分は、こちらで実装しています。
もし、HtmlSplit の機能を大きくかえたい場合などは、このクラスを継
承した新しいクラスを作成すると良いでしょう。
より詳しい説明は、クラスの説明(pod 形式で埋め込まれています)や、ライブ
ラリのアーカイブの samples ディレクトリ配下にある動作サンプルを参照して下
さい。
必要な環境:
Perl 5.004 以降。
jcode.pl
※ OS は Unix(Linux) で動作確認しています。
Windows/Macintosh 環境についてはテストしていません。
※ Makefile.PL では、jcode.pl の有無をチェックしていないので、インストー
ル時には jcode.pl が無くてもインストールは出来てしまうので、注意して下
さい。
インストール:
Perl の標準的なライブラリ用ディレクトリにインストールする場合は、
perl Makefile.PL
make
make test
make install
です。
もしも、上の手順を踏まずに利用したい場合には、アーカイブ中の
FileSplit.pm, HtmlSplit.pm を Perl のサーチパスが通ったところに MiniSplit
という名前でディレクトリを作成して、その配下に置いて下さい。
※作者は、Perl の配布モジュール作成に不慣れなので、特に Makefile.PL を使っ
た場合に、作成側のミスで問題が発生する可能性が高いです。
その場合には、 Makefile.PL を使わない方法で利用して下さい。
(ぜひ対処したいので、このような場合には現象について連絡をもらえると助か
ります。)
使用例:
このアーカイブの samples ディレクトリ配下に様々なサンプルがありますので、
そちらを参照して下さい。
注意点:
このモジュールは、HTML からの単純な抽出の機能に特化しているため、
HTML Parser のような細やかな制御はできません。そのような目的には、CPAN に
ある、
HTML-Parser
を。
あるいは、逆に PHP like な HTML への Perl スクリプト埋め込みを実現できる
PerlScript や
HTML-EP
をお勧めします。
また、現バージョンでは、MiniSplit::FileSplit の set_file_name() メソッド
のコメントにもありますが、ファイル全体をメモリに展開しています。
そのため、あまりメモリ消費量のシビアな用途にはそのままでは向いていません
ので、抽出部分を書き直してしまうことをお勧めします。
(TODO には入れていますが、私はいつ対処するか不明なので・・・
もしこれを実装した方がいて、こちらにソースを頂ければ反映します。
ところで、このようにしたのは、もとになったモジュールを作った際に、コンパ
クトなファイルを前提に、同じファイルから何箇所かを取り出す際の速度を優先
したかったからです。
もし、この機能を使わずに Perl スクリプトに HTML を埋め込んでいれば、いず
れにせよその分だけメモリを費やすため、全体を展開したとしてもデメリットは
相対的に低く、それよりも速度の方を取ったのです)
連絡先等:
バグ等の連絡は、
E-mail: rabduck@infoseek.jp
にお願いします。
作者は、あまり Perl の配布用モジュールの作成になれていないので、特に
Makefile.pl 等のアーカイブの中身での問題や直した方が良い点があったら教え
て下さい。
また、次の Web サイトでライブラリを公開していますので、最新版やバグ情報
等はこちらをチェックしてもらうと助かります。
Web site: http://hp.vector.co.jp/authors/VA022068/
COPYRIGHT:
All Rights Reserved, Copyright (C) Rab-Duck. 2001
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
このライブラリはフリーソフトです。
あなたは、Perl そのものと同じ条件で、再配布や改造が出来ます。
----
Rab-Duck
LastUpdate(UTC): $Date: 2001/01/25 16:15:20 $