Perl学习笔记-4(模块)

Perl模块

寻找模块可以到CPAN(Perl综合典藏网)。网址 https://metacpan.org/

  1. 看看有没有安装了模块
$ cpan -a
可以使用grep过滤特定的模块
  1. 确定指定模块有没有安装
$ perldoc <module>
比如,查看CGI.pm模块有没有安装
$ perldoc CGI
  1. 安装模块
  • 使用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
  1. 把模块安装到自己的环境

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 );
  1. 加载模块
use File::Basename;
只引入特定的函数,而非全部
use File::Basename qw/ basename /;  #只引入模块中的basename函数

也可以不导入任何模块中的函数,而使用函数模块全名
use File::Basename qw/ /;
...
my $dirname=File::Basename::dirname $name;
  1. 加载面向对象的模块
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': $!";
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值