Perl updating inc
When using modules that are not installed in the standard directories of Perl, we need to change @INC so perl will be able to find them.There are several ways to do that solving different use-cases.The names of pieces of your code (subroutine names) and the names of your global variables are symbols.
Sometimes you need to use some modules that are installed in non standard locations; there are several ways to deal with this situation: -- Install the module somewhere in the standard library path If you have administrator privileges, then the best solution is to install the modules in any of the system defined library paths (you can get the paths executing perl -le 'print foreach @INC').
This lack of output indicates that Perl was able to successfully find (and use) this module -- there's no reason to show an error message because these commands will normally run inside of a larger script, and when there's no errors there's also no need for error output.
However, if I try the same command with a module that doesn't exist, like this: Can't locate Foo/Bar/in @INC (@INC contains: /sw/lib/perl5 /sw/lib/perl5/darwin /System/Library/Perl/5.8.8/darwin-thread-multi-2level /System/Library/Perl/5.8.8 /Library/Perl/5.8.8/darwin-thread-multi-2level /Library/Perl/5.8.8 /Library/Perl /Network/Library/Perl/5.8.8/darwin-thread-multi-2level /Network/Library/Perl/5.8.8 /Network/Library/Perl /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level /System/Library/Perl/Extras/5.8.8 /Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 /Library/Perl/5.8.1 .
To declare a package you write: and any symbols you declare reside in that package.
When you create a symbol (variable, subroutine, etc.) Perl uses the name of the package in which you are currently working as a prefix to create the fully qualified name of the symbol.