私は、次のよう@INC
を出力する簡単なPerlスクリプトを持っている:Perl、なぜ@INCが違うのですか?
#!/usr/bin/perl
print $_, "\n" for @INC;
私は、次のよう./test.pl
とperl test.pl
との2種類の方法、出力にスクリプトを実行します。
[[email protected]~/bin]$ ./test.pl
/Library/Perl/5.12/darwin-thread-multi-2level
/Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.3
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12
/System/Library/Perl/Extras/5.12/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.12
.
[[email protected]~/bin]$ perl test.pl
/opt/local/lib/perl5/site_perl/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/site_perl/5.12.3
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/vendor_perl/5.12.3
/opt/local/lib/perl5/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/5.12.3
/opt/local/lib/perl5/site_perl
/opt/local/lib/perl5/vendor_perl
.
マイ問題は、./script.pl
とperl script.pl
のperlスクリプトを実行するための裏側のことですか?スクリプトが異なる@INC
を出力する原因は何ですか?
異なる 'perl'バイナリ? 'perlは何を言っているのですか? – cHao
'perl'は'/opt/local/bin/perl'と言っていますが、シャバンには '/ usr/bin/perl'を使いました。あなたはすべて正しいです、ありがとう...しかし、私はそれを逃したかもしれません... – neevek
私はチームのすべての初心者に与えるUNIX授業#1。決して今までのところ、現在のディレクトリやPATHに頼ってはいけません。明示的に完全修飾パスを使用してください。 – DVK