Ho un semplice script Perl che stampa @INC
come la seguente:Perl, perché @INC è diverso?
#!/usr/bin/perl
print $_, "\n" for @INC;
ho eseguire lo script in 2 modi diversi con ./test.pl
e perl test.pl
, l'output come il seguente:
[[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
.
mio la domanda è: cosa c'è dietro le quinte per l'esecuzione di uno script perl con ./script.pl
e perl script.pl
? cosa causa la produzione dello script diverso @INC
?
Diversi file binari 'perl'? Cosa dice 'quale perl 'dice? – cHao
'che perl' dice'/opt/local/bin/perl', ma ho usato '/ usr/bin/perl' per lo shabang. siete tutti corretti, grazie ... ma potevo averlo perso ... – neevek
lezione Unix # 1 (che do a tutti i neofiti del team). MAI SEMPRE MAI MAI contare sulla directory corrente o sul PERCORSO. Utilizzare SEMPRE il percorso esplicito completo. – DVK