Linux 檢查是否安裝perl模塊及列出所有已安裝的perl模塊(安裝路徑、版本號)

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/perl
use 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函數來輸出單個模塊是否安裝,但是需要開發自己的腦筋喲~


發佈了37 篇原創文章 · 獲贊 30 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章