perl 模块安装与使用
查看perl 版本
perl -v
查看perl模块搜索路径
perl -e '{print "$_\n" foreach @INC}'
查看某个perl模块是否存在
perl -M模块名 -e1
### 例: Config::General 模块
### perl -MConfig::General -e1
模块安装方法1 —— 命令行形式安装Set::IntervalTree
perl -MCPAN -e shell
install Set::IntervalTree
模块安装方法2 —— conda安装
# 不区分大小写、加上了perl前缀、中间以短横线连接
conda install -c bioconda perl-set-intervaltree
模块安装方法3 —— 非root用户,CPAN安装
如果是root用户,直接用cpan下载器下载便可。
如果是非root用户,推荐运行下面的代码获取自己的私人cpan下载器。
wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.bashrc
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.bashrc
cpanm Convert::Color
模块安装方法4 —— 手动安装
从CPAN(http://search.cpan.org/)下载Net::Server模块的压缩文件Net-Server-0.97.tar.gz,解压安装。一般情况下不推荐这种安装方式,因为有些模块会依赖其他模块(假如我们需要模块A,而模块A需要依赖模块B、模块C;模块B又需要依赖模块D、E、F;模块C又依赖模块G、H、I ···),但是总是会有迫不得已的时候,而且尝试这种方式,能加深对perl模块的理解。
wget https://cpan.metacpan.org/authors/id/R/RH/RHANDOM/Net-Server-2.010.tar.gz
tar xvzf Net-Server-2.010.tar.gz
cd Net-Server-2.010
perl Makefile.PL
该模块目前被安装在/p300s/wangmx_group/ayunga/Test/Test-perl-lib/Net-Server-2.010/lib下,不在系统搜索路径 @INC 中,怎么用呢?
perl 模块用法1 —— 直接在Perl脚本中加入下面一行来引用需要使用的模块
不推荐。大部分情况下,我们安装模块不是因为我们自己写脚本需要,而且一些生物信息学软件对模块有依赖,但是我们很少有能力修改那些生物信息学软件。所以这条路一般是不走的。
use lib "/p300s/wangmx_group/ayunga/Test/Test-perl-lib/Net-Server-2.010/lib";
#注意换成自己的路径
perl 模块用法2 —— 将自定义目录加入perl @INC
如果有很多自己下载的包,推荐统一安装到一个目录,就可以把该目录添加到@INC
# export PERL5LIB="/dir/to/perl @INC"
export PERL5LIB="/p300s/wangmx_group/ayunga/Test/Test-perl-lib/Net-Server-2.010/lib"
perl 模块用法3 —— 将下载的perl模块拷贝到已有的 @INC 目录中。
conda 安装时有些模块是搜索不到的。
因为不是root用户,所以cpan并不是万能的,有些包是安装不成功的。
如果是root用户,cpan几乎能解决所有的模块下载安装问题。