Apache::PerlRunFilter - Apache::Filter チェーン内での Perl スクリプトの実行
#httpd.conf 内
PerlModule Apache::PerlRunFilter
# スクリプト出力を Apache::SSI に通す <Files ~ "\.pl$"> SetHandler perl-script PerlHandler Apache::PerlRunFilter Apache::SSI PerlSetVar Filter on </Files>
# テンプレートを利用したいくつかの Perl コード生成と実行 <Files ~ "\.tmpl$"> SetHandler perl-script PerlHandler YourModule::GenCode Apache::PerlRunFilter PerlSetVar Filter on </Files>
このモジュールは Apache::PerlRun のサブクラスで、Apache::PerlRun の全ての機能を 含んでいます。二つの間の違いはこのモジュールは Apache::Filter モジュールと共に利用できるというだけです。 このようなことは Apache::PerlRun では出来ません。
このモジュールは Apache::PerlRun モジュールにフィルタするために ほんの僅かなコード詰め込むだけなので、恐らくは Apache::PerlRun に 統合される方が、コードにとってより適切かも知れません。 現状では、私はこのモジュール (handler ルーチン内) で PerlRun のコードの集合を統合しなくてはならなかった。したがって バグフィックスと仕様変更は両方で行う必要があるのです。
これが Apache::Registry のための正確な代用ではないことに注意してください - これは Registry がするようなコードのキャッシングとかは何もしません。 それは非常にハードなタスクではないですが、今しばらくは Registry がまだ古いコードに基づいていて、Doug の予定では Registry の今後のバージョンは PerlRun をサブクラス化によって作る事です (Apache::RegistryNG を参照)。 これは事実であるから、私はこの事が少し進展するまでの間どの Registry の作業も延期しようと判断しました。
perl(1), mod_perl(3), Apache::PerlRun(3)
Ken Williams <ken@forum.swarthmore.edu>
谷口公一 <taniguchi@users.sourceforge.jp>