CPANTS Game

どなたのところでだったかメモっておくのを忘れたのですが、CPANTSやらなにやらの情報を使えばおもしろそうなことができそうだという記事を見かけて久しぶりにCPANTSのサイトを覗いたら、結構チェック項目が増えていたのですね。

もちろんCPANTSの点数なんてモジュールの品質とは直結しないゲームのスコアでしかないわけですが、つまらないチェックで点数が低くなるのもしゃくなので少々てこ入れ。

古くからのCPAN Authorsがひっかかりがちなところとしては、META.ymlのバージョンが古いとか、META.ymlなどにLICENSE情報が明示されていないとか(ExtUtils::MakeMakerを使う場合は6.31以上にアップする必要あり)。Module::Installのバージョンが古い(基本0.61以上、auto_installを使うなら0.64以上にアップする必要あり)なんてのもチェックの対象になっています。

私のようにWindows上でパッケージングしている人の場合は意識的にMakefile.PL/Build.PLから実行ビットを落とす必要もあるのですが、Windows上のperlの場合、組み込みのchmodは基本的にオーナーの読み取り専用ビットのオンオフしかできない(単にchmod 0644とかしても期待した効果が得られない → perldoc perlport)ので、とりあえずうちではExtUtils::Manifestの _manicopy_chmod 関数の中で明示的にCygwinのchmodを呼ぶように(system( "chmod 644 $file" );)変更して対応。

ルールは下記の通り。PAUSE IDとかでの検索もできるので、気になる方はチェックしてみるのもよろしいかと。