Qual è la differenza tra %INC
e @INC
in Perl?Qual è la differenza tra% INC e @INC?
6
A
risposta
17
Il @INC gamma contiene tutti i percorsi del file system in cui Perl saranno alla ricerca di moduli quando si utilizza o richiedere loro.
Dopo l'uso o richiedere, l'hash %INC conterrà i moduli caricati e da dove sono stati caricati.
Esempi dal mio computer portatile:
@INC:
'/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',
'.'
e% INC:
'warnings/register.pm' => '/usr/share/perl/5.10/warnings/register.pm',
'bytes.pm' => '/usr/share/perl/5.10/bytes.pm',
'XSLoader.pm' => '/usr/lib/perl/5.10/XSLoader.pm',
'Carp.pm' => '/usr/share/perl/5.10/Carp.pm',
'Exporter.pm' => '/usr/share/perl/5.10/Exporter.pm',
'warnings.pm' => '/usr/share/perl/5.10/warnings.pm',
'overload.pm' => '/usr/share/perl/5.10/overload.pm',
'Data/Dumper.pm' => '/usr/lib/perl/5.10/Data/Dumper.pm'
(% INC contiene Data :: Dumper perché ho usato per fare uscire rapidamente quelli due valori).
2
5
Vedere perldoc perlvar per @INC
, %INC
e tutte le altre variabili speciali in Perl.
@INC può anche includere codice per l'aggancio in richiesta/utilizzo. – ysth