CPANモジュールをつくって公開してみた

こんにちは。お給料が入りましたがギリギリの生活は続きます。 きたけーです。
ウィッシュリストはこれです... http://www.amazon.co.jp/registry/wishlist/2QQLVRVWK8GGW

先月買った「続・初めてのPerl」を読んだり読まなかったりを繰り返しながら、12章の「Perlディストリビューションを作るには」まで読み進めました。

以降の章はオブジェクト指向の話だったりテストの話だったりとCPANモジュールを公開するために必要な説明が続きます。
たんたんと読み進めるのも退屈になっていたので、とりあえず手を動かして何か作ってみることにしました。

最初のCPANモジュールということで、なにかよい題材はないかぁと考えていたところ、Acme系のモジュールを見かけたので、それを参考にすることに。
初めてCPANモジュールを作るとき、いきなりガチで便利なものを作ろうとすると肩に力が入りすぎると思うので、Acme系のモジュールをひとつ作ってみるとモジュールを公開するまでの流れが一通りつかめてよいかもしれません。

なんのモジュールつくったの?

僕は世代がズレているにもかかわらずSPEEDが大好きで、毎日、white loveやらmy graduationやらGo Go Heavenを聴いています。そんなSPEEDが大好きな僕がつくったのがこれです。Githubにもあげてます。

use Acme::Speed;

my $speed = Acme::Speed->new;
my @members = $speed->members;

for my $member (@members) {
    print $member->name_ja;
    print $member->birthday;
    # ...
}

といったかんじでメンバーの名前とか誕生日とか、年齢が格納されたオブジェクトの配列を取得できます。今はメンバーの情報しか分かりませんが、そのうち、曲の情報もいれて季節に応じて曲のチョイスとかをしてくれたら最高ですね(冬はwhite love, 初春はmy graduationとか)。

オーサリングツールの選択

続・初めてのPerlでは、オーサリングツールにModule::StarterとModule::Buildを組み合わせたものを紹介していましたが、ネットで色々ぐぐったところ、Minillaがシンプルで簡単に使えそうだったので、そちらをチョイスしました。
Minillaの使い方はチュートリアルを読めばすぐに把握できると思います。

公開するにあたって

sasata299さんの記事が参考になりました。
というか、ささたつさんってCPAN Authorだったんですね。最近のブログ記事を読むとRubyとかRails界隈の人な印象があったのでびっくりしました。

特に有用なことは書いていませんが、CPANモジュールをつくって公開するまでのお話でした。

続・初めてのPerl 改訂第2版

続・初めてのPerl 改訂第2版