「モダンPerl入門」が届いた

案の定Amazonの在庫は無くなってしまった「モダンPerl入門」が届きました。まだちょっと覗いた程度ですが、これは素晴らしい一冊。

僕がPerlに再入門したのは一年ちょっと前で、近代的なPerlのやり方を知るのはなかなか難しかったのを憶えてます。

検索しても何年も前の情報ばかり出てきたりして、「今はこれを使うのが定石」といった情報は非常に取りづらい状況でした。書籍でまかなえる部分はいいけど、どのモジュールを使うのが今の主流なのか、みたいな情報がなかなか出てこない。

結局どうしたかと言うと、Perl使いで名の知れた(TwitterとかYAPCで名前を見る)人のブログを見付けて、そこを起点に購読するフィードを増やすことから始めました。それをとにかく追いながら、キーワードを抽出してググったりsearch.cpan.orgから詳細を追う、みたいなことをしてました。

もちろんそれはどのみち必要だし皆やってることなんだけど、いきなりそこからスタートするのはなかなか厳しいのも確か。

あとは「Perlフレームワークと言えばCatalystらしい」ということで、チュートリアルを追ったら「ORMはDBIx::Class」「テンプレートエンジンはTemplate-Toolkit」というのが分かるので、そこから探索していったり。この2つが確定できたのは大きな指針になりました。


そうこうしてる間に、Perl Is unDeadをきっかけに、perl-users.jpが立ち上がったり、Perl界隈に「Perlの今をもっと伝えていこう」という機運が一気に高まりました。そのあたりから一気にPerl学習の高速道路が整備されたきた感があります。

そうした一連の流れの中で、ついに書籍として結実したのがこの一冊。

モダンPerl入門 (CodeZine BOOKS)

モダンPerl入門 (CodeZine BOOKS)

第一章でMoose、第二章でデザインパターンを取り上げているあたりから本書が「今のPerl」だけでなく「Perlの未来に対する道しるべ」という役割を担おうとしているとことが感じられます。

その他の章も単に「こう書け」という内容ではなく、歴史的な経緯や各種法のメリット・デメリットが偏り無く押さえられていて勉強になります。ただのレシピ集だと思ったら大間違い。

また、テストをとても重要視していることも本書の大きな特徴です。第六章「テストの薦め」は60ページ以上と全章の中で最大のボリュームを誇ります。

こうしたテストに関する詳細な解説や、XSの基礎といった今まで日本では書籍化されていなかった(多分)分野の情報まで一冊でカバーしているというのは大変なことです。

個人的にはPerlを使うに当たって大きな悩みだったのが「CPANモジュールをどう管理するか(どこに入れるか、RPMにするか、マシン間の同期方法など)」だったので、そのあたりの解説がもう少しあれば、とも思いましたがそれは贅沢すぎるというもの。

牧さん大仕事お疲れさまでした。


ちょっと気になったのが、120ページのMyApp::API::Userを叩くところ。ちゃんと検証してないんだけど、

$api->create_user( $schema, {

になってるところは

$api->create_user( $schema->resultset( 'User' ), {

が正しいんじゃないかと思った。schema渡すだけで動くのかな…