Linux 检查是否安装perl模块及列出所有已安装的perl模块(安装路径、版本号)

来源:互联网 发布:淘宝红包在哪里领取 编辑:程序博客网 时间:2024/05/17 09:24

1. 列出所有系统中已经安装的perl模块,可以使用以下命令:

perldoc perllocal

或者:

instmodsh

或者:

find  `perl -e 'print "@INC"'` -name '*.pm'

2. 查询单个perl模块的安装路径,可以使用如下命令:

以DBD::mysql为例

perldoc -l DBD::mysql

3. 查看安装的perl模块的版本号,可以使用如下命令:

以DBD::mysql为例

perl -MDBD::mysql -e 'print DBD::mysql->VERSION. "\n"'

这里介绍两种linux中查看perl模块是否安装的方法,一种是对于单体的模块,一种是对于群体的

单体验证:

[root@root ~]# perl -MShell -e "print\"module installed\n\""

module installed

这里使用-M后边紧跟着Shell这个perl模块,如果输出module installed结果。那么此模块是存在在系统中的。

[root@root ~]# perl -MMail::Sender -e "print\"module installed\n\""

Can't locate Mail/Sender.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .).

BEGIN failed--compilation aborted.

如果出现类似于这种Can't locate。。。的提示,那么证明你系统中没有安装此模块。

群体验证:

这里所谓的群体验证只有一种方式,那么就是使用一个脚本来输出系统中所有已安装的perl脚本:

#!/usr/bin/perluse strict;use ExtUtils::Installed;my $inst = ExtUtils::Installed->new();my @modules = $inst->modules();foreach  (@modules) {        my  $ver = $inst->version($_) || "???";        printf("%-22s -Version- %-22s\n", $_, $ver);}exit;


运行得到的结果为:

DBD::Oracle           -Version- 1.16                  

DBI                       -Version- 1.611                 

ExtUtils::Install        -Version- 1.54                  

Perl                       -Version- 5.8.8  

我们也可以使用grep函数来输出单个模块是否安装,但是需要开发自己的脑筋哟~


0 0