Perlについての質問箱 23箱目
■ このスレッドは過去ログ倉庫に格納されています
0336デフォルトの名無しさん
2006/03/26(日) 21:21:37環境 perl-5.8.5 mod_perl-1.99_16-3 httpd-2.0.53 fedora3
use lib 'ore/lib';
とした場合、Apacheプロセスに読み込まれる初回起動時は正常にlibが読み込まれ
@INCにore/libが入ります。また%INCにlib.pmがロードされます。
2度目のアクセス時にはmod_perl時にはBEGINは初回にしか実行されずlib.pmは既にロード
されているので実行されずに@INCにore/libは追加されません。
初めに全てのモジュールを読み込むのであればこの挙動で問題ないのですが
処理によって動的にモジュールを読む場合、不具合が出てきます。
$INC{'lib.pm'}を消して強制的に読み直す、Setenv PERL5LIBを設定する、use libではなく
unshift @INC, 'ore/lib'とする等、いくつか解決法はありますがしっくりきません。
元々こういった用途ではuse libを使うのは好ましく無いのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています