全文链接

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


    或者:

    1. instmodsh


    或者:

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


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

    以DBD::mysql为例

    1. perldoc -l DBD::mysql


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

    以DBD::mysql为例

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


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

    1. perl -MShell -e "print\"module installed\n\""
    2. # module installed

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

    1. perl -MMail::Sender -e "print\"module installed\n\""
    2. #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 .).
    3. #BEGIN failed--compilation aborted.

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

    群体验证:

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

    1. #!/usr/bin/perl
    2. use strict;
    3. use ExtUtils::Installed;
    4. my $inst = ExtUtils::Installed->new();
    5. my @modules = $inst->modules();
    6. foreach (@modules) {
    7. my $ver = $inst->version($_) || "???";
    8. printf("%-22s -Version- %-22s\n", $_, $ver);
    9. }
    10. exit;

    运行得到的结果为:

    DBD::Oracle -Version- 1.16

    DBI -Version- 1.611

    ExtUtils::Install -Version- 1.54

    Perl -Version- 5.8.8

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