代码
#!/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/”,其中包含 first 以及 end。这就像 unshift 和 push。
./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 有什么区别?