- CPANとは
Perlライブラリを公開するアーカイブです。世界中の人々が作成したライブラリを公開しています。
詳細はWikipediaをご参照ください。 - きっかけ
書き捨てのPerlスクリプトは書いていましたが、体系だったプログラム作成の知識はありませんでした。
会社の業務でクラウドに携わるようになり、最近の技術のスピード感を肌で感じ、アイデアを形にする重要性を感じるようになってきました。
で、下記のblogをみて、自分にもできるかなと思った次第です。 - こんな僕が CPAN Author (一応) になるまで。 - (゚∀゚)o彡 sasata299's blog
- [Perl] 作成したモジュールをCPANで公開する手順
- perlnewmod - 新しいモジュールを配布するには 【perldoc.jp】
- CPAN Authorになるまでの手順
詳細は上述のリンク先をみていただくとして、概要と要点は下記の通りです。
- PAUSEへ登録
これは数ヶ月前に登録済でした。これは自分の登録だけなので、まだライブラリ作成前でもok。
***@cpan.orgのmail addressをもらえます。
しかし、登録時に自分のmail addressへの転送設定をちゃんとしておかないと、最初のvalidationができず、せっかくもらったmail addressが使えません。 - CPAN searchで事前確認
自分が作成しようとするライブラリが存在しないことを確認。 - ライブラリの作成
module::starterというツールを使うと、CPANに必要なファイルの雛形を容易してくれます。
皆、こういうの使っていたんですね。 - PAUSEへ名前空間の登録
DNSと似たような階層構造で名前をつけるのが一般的のようです。あまりtopレベルの名前空間は取得しないものらしい。
今回は「Net::CloudStack」としました。
(Net::Amazon::EC2やNet::OpenStack::Computeというライブラリがあったので、同様にNet::を使うことにしました) - PAUSEからライブラリのupload
下記の2パターン。 - 手動でPerl Makefile.PL;make;make test;make distして、tar.gzを作成し、pauseからuploadする
- shipitコマンド
コマンドラ一発で、gitとmakeとuploadしてくれます。便利。
こちらを参考にやっと使えるようになりました。 - CPANでライブラリ公開
5,6から数時間で、公開されてました。
http://search.cpan.org/dist/Net-CloudStack/
- 学んだこと
上記のCPAN公開までの手順以外に下記を学びました。 - オブジェクト型Perl
Mooseを使いました。Perl4時代の書き方しか知らなかったので新鮮でした。 - バージョン管理
gitを使うようになりました。 - 今後
モダンPerlのスマートな書き方、運用の仕方を学んでいきたいと思います。
また、javascriptも挑戦したいと思います。Firefox、chromeなどの拡張や、node.jsなどやってみたいですね。node ninjaで遊んでみたいです。
### 2012/1/29追記 ###
shipitについて追記しました。