Perl中%INC
和@INC
之间有什么区别?
答案 0 :(得分:17)
@INC数组包含Perl在您使用或需要时查找模块的所有文件系统路径。
使用或者需要之后,%INC哈希将包含已加载的模块以及它们的加载位置。
我的笔记本电脑的例子:
@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',
'.'
和%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包含Data :: Dumper,因为我用它来快速转储这两个值)。
答案 1 :(得分:5)
请参阅perldoc perlvar了解@INC
,%INC
以及Perl中的所有其他特殊变量。
答案 2 :(得分:2)