CPANの漁りかた

2006/05/05 17:49

Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると、どう違うのかわかなかったりしたのを覚えてます。

その後1年、今はレベル8弱ってとこでしょうか、自称ですが。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールは上げてません。

この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きますw。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。

1. まずはPerlStyleを読み直す

miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。

これはロギングとかORマッピングなどの基本的題材を、最初に“スクリプトっぽい”Perlで書いたのち、少しずつ現代 Perl コード的に書き換えていくというわかりやすい良記事です。時期が古いこともあって使われているモジュールは必ずしも今風ではないのですが、CPANモジュールの使い方(置き換え方)のコツがつかめます。

2. 基本モジュールをおさえる

プログラミングPerl volume2の31章でプラグマモジュール(strict, warnings, lib, base など)をおさえ、32章で標準モジュールの主だったものをおさえる。

3. search.cpan.org に慣れる

検索の入り口として CPAN Suggest最速CPANサーチ を使わせてもらうと便利です。

これかな?というモジュールを開いてするのは、

  1. SYNOPSIS をチェック →
  2. パンくずリンクを一つ上に行って、そのモジュールの更新頻度を見 →
  3. さらにもう一つ上に行ってその作者のモジュール一覧を見る →
  4. もどってPODの下の方まで見 →
  5. Source をクリックして実装をながめる →
  6. 気に入ったら入れてみる、

という感じ。

このあたりで気づきたいのは、Perl の世界の公用語は英語であるということ。例えばウェブアプリのバックエンドを作ってるプログラマが、自分で書かなくても HTML や CSS を読めた方がよいのと同じ。

Perl 界ではドキュメンテーションやバグレポートの公用語として英語が使われる。だから話せなくていいし英辞郎片手でよいから、英語を読むことをあきらめない。というか CPAN モジュールの英語は基本ソースの説明なので、そんなに難しくない。書いているのもみんながみんなネイティブの人じゃないしね。

4. 達人から知る

で、search.cpan.org に慣れるてくると、けっきょくどれがベストプラクティスなのかわからないよ、ってことになってくると思うので、そこは先人の結論をいただく。

Perl Advent Calendar というページがあって、そこで紹介されているモジュールはPerlハカーの間で評価が高いものということみたい。(けっこうここで面白いのみつけたんだけど、なんか今見れない。キャッシュ探して見てください)

The Phalanx 100 これは質の高いモジュール100ということらしい。

Perl Best Practices は、読まなきゃ損。洋書だけどだいじょうぶ。細い字がだめなコードで、太い字が良いコード。そんだけ。巻末にレコメンドモジュール集が付いてる。Damian 先生の好みがだいぶ反映されてるけど。

こんな感じでたまに、オススメモジュール紹介ページがでてきたりする。

5. トレンドを知る

*.perl.org の サブドメインをもって大々的に開発し始めたものは今後の主流になっていくモジュールらしい。例えば、DateTimeImager とか。どれも包括的だし、名前空間が考えられてる。Imager、0.46以降 EXIF サポートしてすごい良い感じ

Shibuya.pm とかでスピーカーをやったりする人のブログや、BookmarkをRSSリーダに登録する。そうすると必然的に、Catalyst や Plagger が盛り上がっているのがわかるので、そういったコードを読んでどんなモジュールをどんな風に使っているのか知る。

リンクは貼らないけど、個人のSubversionリポジトリを公開している人がけっこういるので、そういうのを拝見するのも参考になります。

6. 自分で見つける

CPAN Recent typester さんに感謝しつつここのRSSを登録する。

自分が使っているモジュールのUPDATEはもちろんチェック。あと知ってる author のモジュールはチェック。特に YAPC でスピーカーやっていたような人のは要チェック。

そして見ず知らずのモジュールについては、ジャケ買いならぬ、単語買いをする。どんな単語がおすすめかというと・・

Perl界では「かっこよい」とされる英単語が Java とか Ruby とかとはちょっと違う気がする。ある構造なり機能そのものを正確に表現した単語より、短くてウィットに富んだ単語が好まれる(と思うのはぼくだけかなあ?)。そんな単語を見つけたら要チェック。例えば Sweet とかそういう単語

あと、「簡単」という意味の単語をつけてくる奴も使えるモジュールが多い。具体的には、SimpleEasyLiteFast、そういうのを見つけたら要チェック。

最後にこれはちょっと難しいけど、トップレベルで繰り出してくる奴には、とんがったモジュールが多い。なんとか::なんとか じゃなくてそれこそ、Plagger とか Catalyst とか。まあ当たりはずれあるけど。


Comment


冨田尚樹
Naoki Tomita
loading from twitter

人気なページ

Elementary, ...

tomita's mixed feed

© Naoki Tomita