Perl: Using modules and @INC
I was going to write an article about using modules in Perl but Perl Maven did a better job than I ever could have. The article explains all the places Perl looks to find a given module, and how you give it alternate locations. The only thing I would add is that if you print out %INC
it will list all the modules that were loaded, and from where.
use Data::Dumper;
print Dumper(\%INC);
Outputs:
$VAR1 = {
'strict.pm' => '/usr/share/perl5/strict.pm',
'Data/Dumper.pm' => '/usr/lib64/perl5/vendor_perl/Data/Dumper.pm',
'warnings/register.pm' => '/usr/share/perl5/warnings/register.pm',
'vars.pm' => '/usr/share/perl5/vars.pm',
'overloading.pm' => '/usr/share/perl5/overloading.pm',
'Carp.pm' => '/usr/share/perl5/vendor_perl/Carp.pm',
'overload.pm' => '/usr/share/perl5/overload.pm',
'constant.pm' => '/usr/share/perl5/vendor_perl/constant.pm',
'bytes.pm' => '/usr/share/perl5/bytes.pm',
'warnings.pm' => '/usr/share/perl5/warnings.pm',
'XSLoader.pm' => '/usr/share/perl5/XSLoader.pm',
'Exporter.pm' => '/usr/share/perl5/vendor_perl/Exporter.pm'
};
Looks like Data::Dumper
has quite a few dependencies.