| Memoize | BasicWerk
						 
						EC Support
						 
						Technique
						 
						Facebook | 
| 20141120000900_Perl_FindBin_and_lib | 
| Perl_FindBin_and_lib 
   
 FindBin モジュールは、スクリプトが置かれている path へのフルパスを $Bin 変数に格納して返す。 FindBin.pl #! /usr/bin/perl use warnings; use strict; use FindBin qw( $Bin ); print "$Bin\n"; 
 % FindBin.pl /Users/Path/To/Here 
 これを利用すると、必要なモジュールをスクリプトとの相対関係で設置して lib プラグマに渡すことができる。 
 use FindBin qw( $Bin ); # スクリプトと同じディレクトリ use lib $Bin; # lib という名前のサブディレクトリ use lib "$Bin/lib"; # カレントディレクトリから一つ上がって # lib という名前のディレクトリへ下る use lib "$Bin/../lib"; 
 モジュールサーチパスの解決方法はもうひとつ。 シェル環境変数の PERL5LIB にディレクトリ名を設定しておくと @INC 同様にモジュールが検索される。 
 例えば、~/.zshrc などに export PERL5LIB=~/perl5lib と書き込んで、シェルを新しく起動するか、source ~/.zshrc すれば、環境変数が有効になる。 % echo $PERL5LIB /Users/me/perl5lib @INC を確認してみると、先頭に追加されている。 % perl -le 'print for @INC' /Users/me/perl5lib /opt/local/lib/perl5/... ... ... 
 | 
| © Shin Nakamura/BasicWerk 2014 |