use
パッケージ名を取ります。次に、それぞれ::
を次のようなパス区切り記号に変更し/
、追加し.pm
ます。したがって、正しい使い方はuse Hello;
.
ここには 1 つの問題がありHello.pm
ます@INC
。私のperlの1つに、次の@INC
ようなエントリがあります
/home/amon/.config/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/i686-linux-thread-multi-64int
/home/amon/.config/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1
/home/amon/.config/perlbrew/perls/perl-5.18.1/lib/5.18.1/i686-linux-thread-multi-64int
/home/amon/.config/perlbrew/perls/perl-5.18.1/lib/5.18.1
.
最後の 1 つは興味深いものです.
。現在の作業ディレクトリを表します。残念ながら、これは常にスクリプトの場所と一致するとは限りません。FindBin
モジュールでそれを解決できます:
use FindBin; # get the script location, populates $FindBin::Bin
use lib $FindBin::Bin; # tell perl to look for modules next to your script
use MRS::scripts::Hello; # load your module
…モジュールがファイルにあると仮定します$FindBin::Bin/MRS/scripts/Hello.pm
。