CPANモジュールの`Bundle::*`機能

Perl で複数の CPAN モジュールを一括して入れたい場合, CPAN.pmBundle::* 機能を使うと楽です. この機能は, Bundle::* という名前空間を持つモジュールをモジュールバンドル (束) とみなし, 記載されているモジュールのインストールを自動的にやってくれる,というもの.


使い方

例えば,以下のようにバンドル "Bundle::my_bundle" を作成する.

$ cat ./Bundle/my_bundle.pm
    
package Bundle::my_bundle;
use vars qw( $VERSION );
$VERSION = "0.01";
1;
    
    
=head1 CONTENTS
    
DateTime
YAML
UNIVERSAL::require
    
=cut

"=head1 CONTENTS"行以降がインストールしたいモジュール名のリストとなる. モジュール指定行のフォーマットは以下.

Module_Name [Version_String] [- comment]

このような Bundle モジュールを作っておくと, 複数のモジュールを一括してインストール/更新できる.

$ perl -I`pwd` -MCPAN -e 'install Bundle::my_bundle'
...
Running install for module DateTime
...

-I`pwd`とやっているのは"Bundle::my_bundle"@INC から見付からなければいけないため. -I./ではダメ なことに気づかず,ちょと嵌まった.