8

のホスティング マシンに複数の Perl モジュールをインストールし~/perlました。Perl モジュール パスに追加するにはどうすればよいですか? パスの設定PERL5LIBまたはunshifting は@INC確実に機能しますが、CGI スクリプトとして実行している場合、環境変数は役に立ちません。この@INC方法はあまり移植性がありません。より良い方法はありますか?これは一般的な問題である必要があります。何か不足していますか?

4

2 に答える 2

9

それを行うためのよりクリーンな方法は次のとおりです。

use lib "/path/" ;  

ここで見つけることができる他の興味深い良い方法があります:

http://www.slideshare.net/pfig/cpan-training-presentation/

また、re: CGI スクリプト、CGI Env の PERL5LIB パスを定義できます。これは Web ホストに依存します。

一部の Web ホストは、CGI 環境の環境変数の特定の制御を許可しており、それらを設定するだけで済みます。他のホストには、開始時に表示される変数がローカル スコープに表示されることを許可する「許可」リストがある場合があります。

特定の HTTP サーバーでこれを行う方法を読むと役立つ場合があります。

ENV の設定が好みでない場合は、もう 1 つのオプションがあります: local::lib

いくつかの事前定義されたパスを自動的に検索します。

于 2008-12-10T06:57:55.443 に答える
6

PERL5LIB は、CGI スクリプトに対しては問題なく機能します。サーバー構成など、適切な場所に変数を設定するだけです。どのウェブサーバーを使用していますか? Apache の場合、mod_env のSetEnvディレクティブを使用します。

@INC は移植可能です。そこに入れるパスはすべてのマシンで同じではないかもしれませんが、変数自体に問題はないはずです。

perlfaq8の FAQ エントリを読みましたか:

于 2008-12-10T15:05:56.723 に答える