I need to retrieve the path where the perl libraries Statistics and Distributions are located. The path is necessary to run the script. I'm on a computer cluster. Can anyone help me?
Thanks
I need to retrieve the path where the perl libraries Statistics and Distributions are located. The path is necessary to run the script. I'm on a computer cluster. Can anyone help me?
Thanks
This answer assumes that the module is in fact installed, but not in a place that perl
is looking for.
Generally, the Perl module Statistics::Distributions
will be contained in a file called Statistics/Distributions.pm
. On Linux and similar systems, one can search for these files quickly with the locate
command:
locate Statistics/Distributions.pm
If it is installed, locate
will spit out a line similar to
/opt/my_perl/lib/Statistics/Distributions.pm
You can then instruct the perl
interpreter to look in this path, too, in various ways. One is to define the environment variable PERL5LIB
, i.e. from bash
:
prompt> PERL5LIB=/opt/my_perl/lib/ ./myscript.pl
Or you can use the perl -I
switch:
prompt> perl -I/opt/my_perl/lib/ ./myscript.pl
Or you can modify the script to use lib
; there is more than one way to do it ;-)
perldoc -m Your::Module
- displays source of module
perldoc -l Your::Module
- display path to library if it's installed and found in PERL5LIB, -I, @INC, etc.
If you mean you need the path of a module you're using in a program, that's stored in %INC
:
$ perl -MLWP::Simple -le 'print $INC{"LWP/Simple.pm"}'
/usr/share/perl5/LWP/Simple.pm
"Can't locate XXX in @INC
" usually indicates the module isn't installed. Have you installed Statistics::Distributions?
cpan Statistics::Distributions
I had the same trouble and it can be fixed both ways:
1) by running the command
perl -I/blabla/folder_your_module_is_installed/blib/lib/ ./script.pl
for dummies like me, it is important to note that the end of the path is lib/
, not lib/Other_folder/
. Because there are more folders after it.
2) inside the script you can write:
use lib 'blabla/folder_your_module_is_installed/blib/lib/';
save and run perl scripit.pl