TransFreeBSDの日記 このページをアンテナに追加 RSSフィード

2006-11-24

[]ModPerl::{PerlRun,Registry,RegistryPrefork}でのカレントディレクトリBEGINブロック、@INCの扱いメモ ModPerl::{PerlRun,Registry,RegistryPrefork}でのカレントディレクトリ、BEGINブロック、@INCの扱いメモ - TransFreeBSDの日記 を含むブックマーク

まとめると

cdBEGINブロック実行フェーズでuse libプラグマが反映されない可能性
ModPerl::PerlRunなしCGI呼び出し時ない
ModPerl::Registryなしスクリプト読み込み時ある
ModPerl::RegistryPreforkありスクリプト読み込み時ある

というわけで

  • BEGINでcdしても実行フェーズでは変っている可能性がある。
  • use libした場合に、実行フェーズでuseやrequireすると@INCに反映されていなくて失敗する可能性がある。

KGKG2006/11/26 00:28Wiki.pm の process_plugin 内で $parser を渡すところに制限がかかりましたので、プラグイン内で parser を使えるのが include と help だけになってしまいました。この制限を外せば使えるようになると思います。

TransFreeBSDTransFreeBSD2006/11/26 13:17あー、ソース読んでないのがバレバレだ(笑)
coreプラグインなので変更してコミットしておきます。
コメントありがとうございました。

KGKG2006/11/27 12:19$parser_including_plugin{$name}って?(w

KGKG2006/11/27 12:21途中で投稿してしまった(笑)。$self->{parser_including_plugin}->{$name} とかの方がよさそう。

KGKG2006/11/27 12:25というか、個人的には制限なんて無い方が良いのだが・・・竹添氏の意向がそうでないようなので制限が入るのは仕方が無い。拙作プラグインの関係上、個人仕様では制限なしにせざるを得ないのだが・・・。

TransFreeBSDTransFreeBSD2006/11/27 20:55一応バグフィクス扱いで、paragraphプラグインを加えるだけだけど、ただ、ifにズラズラ並べるのはあれなので、ハッシュ変数で判定という流れです。
元が固定値なので、ハッシュ変数を公開するのはとりあえず止めました。いまの所は定数扱いで、今後は要相談ってところですか。
コメントに裏技とあるだけあって、竹添さんとしては、出来れば渡したくないけどしかたなく、というところなのでしょう。
#少しパーサの方も見直した方が良いかも

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20061124