Perlを勉強するときにオススメしたい本
JavaScript版を書いてみたので調子に乗ってPerl版も書いてみます。
4月からPerl始める人もいるかもしれないですし。(こじつけ)
初めてのPerl 第6版
- 自分が読んだのは第5版でその時点でも5.10に対応しており、given-whenやスマートマッチなどについてもしっかり載っていたのですが、この第6版ではさらに5.14に対応していて、モダンな書き方になっていたりPath::Classなど新しいモジュールや付録としてUnicode入門があったりと、古さを感じない内容になっていてその点も素晴らしいなと思います。
- この変数や関数、正規表現、文字列操作、ファイル操作などからシグナルの処理、便利なモジュールの紹介までPerlの基本的な部分がしっかりと紹介されていて、一冊目としては文句なしにオススメ出来る本だと思います。
- サンプルコードが短いのもわかりやすくていいですし、練習問題も小粒なのでやろうという気持ちになれました。
- 近藤さんの訳もとてもわかりやすくて、技術書読むのって面白いなというきっかけとなった一冊でもあります。
http://www.oreilly.co.jp/books/9784873115672/
続・初めてのPerl 改訂版
- 名前の通り初めてのPerlの次に読む本になっていて、こちらもわかりやすくて素晴らしい一冊だと思います。
- Perlの躓きポイントと言われるリファレンスについても丁寧に説明されていたり、オブジェクト志向についても説明があったりと、一定規模以上のPerlスクリプトやPerlでWebアプリを作る際に必要となる要素がたくさん詰まっています。
- 個人的には「9章 リファレンスを使った実践的なテクニック」の大量のデータを如何に効率よく処理するかといった部分がとても面白くて勉強になりました。
- また、@INCやrequire、UNIVERSALやAUTOLOADなども紹介されているので、ライブラリ読む時の参考になりますし、MANIFESTやMakefile.PLは何なのかといった説明もあるのでとても勉強になりました。
- テストについてもしっかり取り上げられているのも嬉しいところです。
http://www.oreilly.co.jp/books/4873113059/
Perlベストプラクティス
- Perlをどう書いていけばいいのかというベストプラクティスですが、変数名の付け方やインデントなど、Perlに限らずプログラミング全般に言えることも多く、分厚いですがとても勉強になる一冊です。
- スライスをうまく使うとわかりやすく書けるといったことや、if () elsif () elsif () ... にするならハッシュで処理を分けるなど、実践的な内容も多くて綺麗に効率よいプログラムを書く方法が載っています。
- 後半は著者のDamian Conway作のモジュールを使ったベストプラクティスが多く、そのまま使うことはないかもしれませんが考え方という意味では参考になるのかなと思います。
- まず前半だけでも読むととても勉強になると思います。
http://www.oreilly.co.jp/books/4873113008/
Perl CPANモジュールガイド
- 実際にプログラミングする場合は、CPANモジュールを活用していくことになると思うのですが、最初のうちはどうモジュールを検索していいのかわからないことも多いと思います。そういった時にまずこの本で欲しいモジュールがないか探してみるといいのではないかと思います。
- 一部今では別のモジュールに置き換えられているものもありますが、普段よく使うモジュールが紹介されていて、サンプルコードや説明も丁寧でわかりやすいし、用途別に紹介されているので探しやすいです。
- またいわゆるモダンな感じのコードで書かれているので書き方の勉強にもなると思います。
- 発売された時に「もっと早くこの本が欲しかった...」と思った一冊です。
http://www.wgn.co.jp/store/dat/3227/
Webサービスのつくり方 ――「新しい」を生み出すための33のエッセイ
- じゃあ実際にPerlを使ってどんな感じでWebサービスを作っていけばいいのかがよくわかる一冊です。
- プログラミング言語の本ではないですが、サンプルコードとしてPerlが使われていてWebAPIを叩いて結果をゴニョゴニョするCLIのプログラムから、PerlのWebApplicationFrameworkであるMojoliciousを使ったMVCでのアプリケーションのサンプルまで載っていて、Perlについても勉強になる部分が多いと思います。
- アプリのコードが紹介されているので、自分が実際にアプリを作る際にはとても参考になる一冊です。
http://gihyo.jp/book/2012/978-4-7741-5407-7