- 查看perl模块的安装目录
perl -e '{print "$_\n" foreach @INC}'
- 查看已经安装的模块
instmodsh
- 查看perl模块的安装路径
比如查看Math::Random::MT::Auto的安装路径
perldoc -l Math::Random::MT::Auto
- perl安装模块
cpan Math::Random::MT::Auto
- 安装过程中可能遇到以下问题,
'YAML' not installed, will not store persistent state
解决方法是
perl -MCPAN -e 'install "YAML"'
然后再次安装
cpan Math::Random::MT::Auto
- 但是会遇到下面的问题,那么就先安装缺少的模块
sudo cpan Exception::Class
然后在次安装
sudo cpan Math::Random::MT::Auto
-
有时会遇到缺少版本头文件的问题
解决方法是试着创建一个新的cpan文件,然后再重新安装:
cd && mv .cpan .cpan-bak
sudo cpan Statistics::Distributions
(因为我不知道如何在非root情况下安装,所以就只能先用管理员安装了)
- 在使用perl时,有时安装过模块后,运行程序还是出错,这是可以对脚本进行修改,
#!/bin/perl
改为
#!/bin/env perl
这是因为可能你有两个perl,但是你安装模块时使用的perl和运行时调用的perl不是同一个导致的 - 模块的调用
在调用perl模块时,如果没有在环境变量中,就可以使用下面的语句在调用之前指定模块的位置,首先就是确定模块的路径
方法一:
perldoc -l DBI #参数-l Display the module's file name
方法二:
perl -MDBI -e 'print $INC{"DBI.pm"}'
然后可以在脚本的开头添加路径
BEGIN {
unshift @INC,
qw(
/pub/anaconda3/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi #模块的路径
/pub/anaconda3/lib/perl5/site_perl/5.22.0 #模块的路径
/pub/anaconda3/lib/perl5/site_perl #模块的路径
);
}
或者可以在此环境下perldoc中进行修改
参考:
无root权限时安装perl模块
perl自定义模块的调用
查看Perl模块安装路径
Linux 检查是否安装perl模块及列出所有已安装的perl模块(安装路径、版本号)