Perl ライブラリの Statistics と Distribution が配置されているパスを取得する必要があります。スクリプトを実行するにはパスが必要です。私はコンピュータークラスターにいます。誰でも私を助けることができますか?
ありがとう
この回答は、モジュールが実際にインストールされているが、perl
探している場所にはインストールされていないことを前提としています。
通常、PerlモジュールStatistics::Distributions
は。というファイルに含まれますStatistics/Distributions.pm
。locate
Linuxおよび同様のシステムでは、次のコマンドを使用してこれらのファイルをすばやく検索できます。
locate Statistics/Distributions.pm
インストールされている場合は、次locate
のような行を吐き出します
/opt/my_perl/lib/Statistics/Distributions.pm
perl
次に、さまざまな方法でこのパスを調べるようにインタプリタに指示することもできます。1つは、環境変数を定義することPERL5LIB
ですbash
。
prompt> PERL5LIB=/opt/my_perl/lib/ ./myscript.pl
perl -I
または、スイッチを使用できます。
prompt> perl -I/opt/my_perl/lib/ ./myscript.pl
use lib
または、スクリプトを;に変更できます。それを行うには複数の方法があります;-)
プログラムで使用しているモジュールのパスが必要な場合は、次の場所に保存され%INC
ます。
$ perl -MLWP::Simple -le 'print $INC{"LWP/Simple.pm"}'
/usr/share/perl5/LWP/Simple.pm
perldoc -m Your::Module
- モジュールのソースを表示
perldoc -l Your::Module
- ライブラリがインストールされていて、PERL5LIB、-I、@INC などで見つかった場合は、ライブラリへのパスを表示します。
" Can't locate XXX in @INC
" は通常、モジュールがインストールされていないことを示します。Statistics::Distributionsをインストールしましたか?
cpan Statistics::Distributions
私は同じ問題を抱えていましたが、両方の方法で修正できます。
1) コマンドを実行して
perl -I/blabla/folder_your_module_is_installed/blib/lib/ ./script.pl
私のような愚か者にとって、パスの終わりはlib/
ではなくであることに注意することが重要lib/Other_folder/
です。その後にさらにフォルダがあるためです。
2) スクリプト内に次のように記述できます。
use lib 'blabla/folder_your_module_is_installed/blib/lib/';
perl scripit.pl を保存して実行する