コード
#!/usr/bin/perl -I/root/Lib/
use Data::Dumper;
print Dumper \@INC;
上記のコード ファイル名は test.pl で、パーミッションは 755 です。
/usr/bin/perl test.pl を使用してプログラムを実行すると、@INC の出力の末尾に「/root/Lib」が含まれます。@INCにプッシュインするようなものです。
/usr/bin/perl test.pl 出力
$VAR1 = [
'/etc/perl',
'/usr/local/lib/perl/5.10.0',
'/usr/local/share/perl/5.10.0',
'/usr/lib/perl5',
'/usr/share/perl5',
'/usr/lib/perl/5.10',
'/usr/share/perl/5.10',
'/usr/local/lib/site_perl',
'.',
'/root/Lib/'
];
しかし、./test.pl を使用してプログラムを実行している場合、@INC の出力には "/root/Lib/" が最初に含まれ、最後にも含まれます。シフトを解除して押すようなものです。
./test.pl 出力
$VAR1 = [
'/root/Lib/',
'/etc/perl',
'/usr/local/lib/perl/5.10.0',
'/usr/local/share/perl/5.10.0',
'/usr/lib/perl5',
'/usr/share/perl5',
'/usr/lib/perl/5.10',
'/usr/share/perl/5.10',
'/usr/local/lib/site_perl',
'.',
'/root/Lib/'
];
./test.pl と /usr/bin/perl test.pl の違いは何ですか?