Domanda

Qual è la differenza tra %INC e @INC in Perl?

È stato utile?

Soluzione

L'array @INC contiene tutti i percorsi del file system in cui Perl cercherà per i moduli quando li usi o li richiedi.

Dopo l'uso o la richiesta, l'hash % INC conterrà i moduli caricati e da dove sono stati caricati.

Esempi dal mio laptop:

@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é l'ho usato per scaricare rapidamente quei due valori).

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top