lib - モジュールの検索パスを追加
libモジュールを使用すると、モジュールの検索パスを追加することができます。
# モジュールの検索パスを追加 use lib 'home/user/local/lib';
Perlにおいては、モジュールの検索パスの一覧は特殊変数「@INC」に格納されていますが、libモジュールはコンパイル時に@INCの先頭に検索パスを追加します。
# libモジュールは@INCの先頭にパスを追加する BEGIN { unshift @INC, '/home/user/local/lib'; }
libモジュールはFindBinモジュールと組み合わせて利用されることが多いです。スクリプトの存在するディレクトリのlibというディレクトリをモジュールの検索パスに追加するサンプルです。
# スクリプトの存在するディレクトリのlibディレクトリを検索パスに追加 use FindBin; use lib "$FindBin::Bin/lib";
libモジュールに関するFAQ
Q. libモジュール以外の方法でモジュールの検索パスを追加する方法はありますか。
A. はい。PERL5LIB環境変数を設定する方法とスクリプトの起動時に -I オプションを指定する方法があります。libモジュールは最も柔軟性がありますが、スクリプトと密に結合してしまい移植性に欠けます。状況に応じてどの方法が最善かを考えましょう。