Perlモジュールのバージョンを確認するイロイロな方法
元ネタ
Google先生に尋ねたところ2010年のadvent calendarで モジュールのバージョンを確認するときどうやってますか? にイロイロ紹介されていましたので、いくつか自分で試してみました。
VERSION変数をprintする
$ perl -MDBI -le 'print $DBI::VERSION' 1.625
もっともシンプルな方法でしょうか。
pmversを使う
# pmvers DBI 1.625
cpanm pmversでインストールするとpmtoolsというコマンド集のようなものが入ります。 pmversコマンド以外にも例えばpmallと打つとすべてのインストール済みモジュールがバージョンと共に表示されます。
巨大なバージョン番号でuseして意図的にエラーを表示させて確認する
# perl -e 'use DBI 9999' DBI version 9999 required--this is only version 1.625 at -e line 1. BEGIN failed--compilation aborted at -e line 1.
エラーメッセージの中に現在のバージョンが含まれていることを利用した方法。
Vモジュールを使う
# perl -MV=DBI DBI /usr/local/lib64/perl5/DBI.pm: 1.625
「V.pm」はCPANからインストールしておきます。
perldoc -m
# perldoc -m DBI
じかにソースを出して$VERSIONを確認します。
結局どうするか
1つ2つのモジュールの確認だけならどうやってもよさそうに思いました。 頻繁に機会があるならpmtoosのコマンド群はインストールしておくと便利そうです。