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