Perl モジュールのバージョン確認方法

estis2014/01/07 (火) 20:54 に投稿

ファイルに確認したいモジュールの名前が書いてあるとする。
例えば

$ cat tmp 
Socket
utf8
DBD

この時、以下の方法が使える。

$ for i in $(cat tmp)
> do
> perl -m$i -e 'printf "%s:%s\n", '$i', $'$i'::VERSION'
> done

出力結果は、こんな感じ。

Socket:2.009
utf8:1.10
Can't locate DBD.pm in @INC (you may need to install the DBD module) (@INC contains: /usr/local/lib/perl5/site_perl/5.18.1/x86_64-linux /usr/local/lib/perl5/site_perl/5.18.1 /usr/local/lib/perl5/5.18.1/x86_64-linux /usr/local/lib/perl5/5.18.1 .).
BEGIN failed--compilation aborted.

ここでは、DBDが無いことがわかる。