Perl模块
寻找模块可以到CPAN(Perl综合典藏网)。网址 https://metacpan.org/
- 看看有没有安装了模块
$ cpan -a
可以使用grep过滤特定的模块
- 确定指定模块有没有安装
$ perldoc <module>
比如,查看CGI.pm模块有没有安装
$ perldoc CGI
- 安装模块
- 使用ExtUtils::MakeMaker
$ perl Makefile.PL
指定安装目录
$ perl Makefile.PL INSTALL_BASE=/home/user/perl
$ make install
- 使用Module::Build
$ perl Build.PL
指定安装目录
$ perl Build.PL --install_base=/home/user/perl
$./Build install
- 使用CPAN
$ perl -MCPAN -e shell #进入cpan shell
或者如下进入cpan shell
$ cpan
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.
cpan[1]> install <Module> // 安装
cpan[2]> q // 退出(exit)
再或者在命令行下安装模块
$ perl -MCPAN -e 'install Expect::Simple'
或者干脆
$ cpan Module::Name
- 使用perl-App-cpanminus工具安装perl模块
使用perl-App-cpanminus工具安装perl模块
#perl-App-cpanminus : Get, unpack, build and install CPAN modules
#Repo : base
yum install -y perl-App-cpanminus
或者如下安装perl-App-cpanminus工具
cpan App::cpanminus
然后就可以使用App cpanminus工具命令cpanm安装perl模块了
cpanm Module::Name
- 模块安装的参考网址
https://www.cpan.org/modules/index.html
https://www.cpan.org/modules/INSTALL.html
- 把模块安装到自己的环境
CPAN工具默认会把模块(.pm)安装到perl解释器所在的目录(这里也许你没有权限)。
可以借助local::lib模块来将新模块安装到自己的目录。这个模块会自动修改某些环境变量设定,以此影响CPAN客户端安装模块的位置。
列出local::lib改动的所有环境变量设定
$ perl -Mlocal::lib
按照上述环境设定安装新模块
$ cpan -I Set::Crossproduct
更智能的安装方式
$ cpanm --local-lib HTML::Parser
配置cpan的安装环境,以备日后的安装使用
$ cpan
cpan> o conf makepl_arg INSTALL_BASE=/home/user/perl
cpan> o conf mbuild_arg "--install_base /home/user/perl"
cpan> o conf commit
在CPAN.pm配置文件中加上上述配置后,日后每次安装模块都会自动使用上述配置。
对于安装的模块在perl程序中还需指出模块的安装位置,为此只需使用下述指令:
use local::lib;
如果安装在其他地方,可以使用lib编译指令设定
use lib qw( /usr/local/lib/perl );
- 加载模块
use File::Basename;
只引入特定的函数,而非全部
use File::Basename qw/ basename /; #只引入模块中的basename函数
也可以不导入任何模块中的函数,而使用函数模块全名
use File::Basename qw/ /;
...
my $dirname=File::Basename::dirname $name;
- 加载面向对象的模块
use File::Spec;
my $new_name=File::Spec->catfile($dirname, $basename);
rename($old_name, $new_name) or warn "Can't rename '$old_name' to '$new_name': $!";