今日のCPANモジュール
use Module::CoreList;
ぜんぜん日刊じゃないじゃないか!と言われそうなので、こっそり発行周期を「ほぼ日刊」に改めた今日のCPANモジュールです。
さて、前々回の Fatal は、“コア”モジュールでした。つまり、Perlと一緒に入ってくるので別途インストールが不要なモジュールです。前回の App::Options は、コアじゃないのでインストール(> sudo cpan App::Options)が必要です。
あるモジュールが、コアなのかコアじゃないのか、また Perl のバージョンいくつからバンドルされているのか、そのあたりを調べることができるのが Module::CoreList です。
インストールすると、corelist というプログラムが /usr/local/bin などパスの通ったところにインストールされます。
使い方は、corelist に聞きたいモジュール名を渡すだけです。
> corelist Fatal
Fatal was first released with perl 5.00307
Fatal は Perl 5.3 のころからコアであることがわかります。
ほかに、例えば CGI というモジュールはコアなのですが、バージョン3.06で文字コードまわりの動作変更がありました。そこで、最近の Perl にはバージョン何がバンドルされてるのかな、と調べるときは -a を使います。
> corelist -a CGI
CGI was first released with perl 5.004
5.004 2.36
5.00405 2.42
5.005 2.42
5.00503 2.46
5.00504 2.46
5.006 2.56
5.006001 2.752
5.006002 2.752
5.007003 2.80
5.008 2.81
5.008001 3.00
5.008002 3.00
5.008003 3.01
5.008004 3.04
5.008005 3.05
5.008006 3.05
5.008007 3.10
5.008008 3.15
5.009 3.00
5.009001 3.04
5.009002 3.07
5.009003 3.15_01
と、Perl 5.8.7 から 3.06 以上が入っていることがわかります。ちなみに、点2個を使うバージョン表記を小数表記すると 5.8.6 = 5.008006 です。
corelist に聞くモジュール名は大文字小文字正しい必要がありますが、よくわからないときは正規表現風に スラッシュではさんで渡すとそう解釈してくれます。さて、Module::CoreList そのものはコアでしょうか?
> corelist /::corelist/i
Module::CoreList was first released with perl 5.009002
perl 5.9.2 から、ということですね。5.8 系の場合は corelist を使う前に cpan Module::Corelist する必要があります。
Perl では、この点2個形式で真ん中の数字が偶数=正式リリース、奇数=開発版という意味で、5.9.x は 5.10 へ向けての開発版ということです。つまり、Module::CoreList は 5.10 から晴れてコア入りするらしいことがわかります。
他のオプションは、corelist --help するか、PODを参照してください。
Module::CoreList のように、インストールすると、そのモジュール自身を使った小さなプログラムをインストールしてくれるタイプのはけっこうたくさんあります。App::Ack の ack とか、LWP の GET や HEAD など。いずれとりあげます。
SEE ALSO
WRITTEN BY
冨田 尚樹 <tomita@cpan.org>