2010年2月 7日
どうやらCPAN Authorになったようです
念願のCPAN Authorになったらしい。今年の目標の一つだったのですが、宣言する前になってしまいました。
たいしたモジュールじゃないんですが、Math::CheckDigitsというモジュールをあげてあります。名前のとおり、チェックディジットを計算したり、判定したりするモジュールです。
Algorithm::CheckDigitsというCPANモジュールが既にあります。ただ、これはフォーマット名(JANとかISBNとか)を指定しないと使えなかったりして、いちいちそんなに覚えていられません。単純にModulusとWeightを指定するだけで使えるモジュールが欲しかったので作りました。
フォーマット名を指定して判定したい場合も、このモジュールを基底クラスにしてサブクラスを書けば簡単に作れると思うので、ゆくゆくはそういったモジュールも作成しようと考えています。ちなみにAlgorithm::CheckDigitsはサブモジュールにいちいち似たような処理が書いてあるので、ちょっと好みじゃありません。
企業様向けの社内システム等の受託開発なんてやってると、要件にチェックディジットが出てきたり、テストバーコード打ち出したりとかで、チェックディジットを使う機会が多かったりします。その辺りがこのモジュールを作ろうと思ったきっかけでしょうか。
モジュールはModule::Setupを使って作成しました。tar.gzがパーミッションの関係でPAUSEアップロードに撥ねられたりしてWindowsでCPANモジュールを作るのには苦労しました。
幸い、アップロード時に自動送信されてくるレポートメールの中に失敗の詳細が書かれていました。しかもtar.gz内のファイルパーミッションを書き換えてくれる修正スクリプトへのリンクまで書かれており、それを使って問題を解決出来ました。
集合知を使うところまで自動化されているんだからCPAN恐るべし。ただ、Windowsで開発するのも色々鬼門でめんどくさいなぁとか感じつつある今日この頃です。
CPANはありそうなモジュールが案外無かったりするので、そういうニッチな部分で勝負できるのではないかと思い始めています。
今回はWebには全然関係ないモジュールだったので、次回はWeb関係のものをあげます。