プログラミング初心者にオススメのPerl本

この時期、Perlを学び始める方も多いと思います。そこでプログラミング初心者がPerlを学ぶのに適した本を、私が実際に読んだことのあるものの中から選んでみました。

1冊目

1冊目はなんでもいいと思うのでとりあえず定番としてリャマ本を挙げておきます。

初めてのPerl 第5版

初めてのPerl 第5版

これで基本的なPerlの文法が学べるはずです。この手の入門書は「課題」がつきものですが、すべて解く必要はないと思います。幾つか気になるもの・面白そうなものだけ試してみればいいでしょう。
1冊目読了の辞典では、以下のプログラムの簡易バージョン*1を実装できるようになっていればいいと思います。余裕があれば実際に実装してみてください。

2冊目

ある程度コードが書けるようになったら次はCPAN本がいいでしょう*2

Perl CPANモジュールガイド

Perl CPANモジュールガイド

この本はPerlモジュールを紹介している本ですが、それ以外にも以下のような特徴があります。

  • 日本語の取り扱いについて細心の注意を払って書かれている
  • 実行可能なサンプルコードが豊富

特に日本語の取り扱いはどんなプログラミング言語でもほぼかならずハマる要素なので、Perlでの文字列の扱いは早めにマスターしておいたほうがいいでしょう。
しかしながら、すべて読むと時間がかかってしまいます。そこで、最初は以下のような順で読むことお勧めします。

Plackについてはソースコードも参考になります。特にPlack::Request/Plack::Response/Plack::Util/Plack::Runnerあたりは重要性も高いので読んでみてもいいと思います。
上記のトピックを読んだ時点では、作れるプログラムは特に増えないかもしれません。しかし、同じことでも効率よく、あるいは楽に、あるいはデバッグしやすく書けるようになっているはずです。

3冊目

3冊目は『プログラミングPerl*3か『Perlクックブック』*4どちらかを勧めます。

プログラミングPerl〈VOLUME1〉

プログラミングPerl〈VOLUME1〉

プログラミングPerl〈VOLUME2〉

プログラミングPerl〈VOLUME2〉

or
Perlクックブック〈VOLUME1〉

Perlクックブック〈VOLUME1〉

Perlクックブック〈VOLUME2〉

Perlクックブック〈VOLUME2〉

ラクダ本Perlという言語を網羅的に説明してありますが、具体例にやや乏しいのが欠点です。クックブックは具体例を大量に集めたものですが、言語機能の解説はあまりありません。この2冊(というか4冊)を一緒に手に取るとあまりの分厚さにドン引きすること間違いないため、最初はどちらか一方から読むことをお勧めします。どちらがいいか迷ったときはラクダ本が無難かと思います。
ラクダ本とクックブックを読破した時点で、Perl言語の学習は終了したと考えていいでしょう。

その後の展開

その後はプログラミング作法やアルゴリズム、あるいはSQLJavaScriptなどの関連した他の言語について学ぶことになるでしょう。その際、Perlと外の世界との間を埋めるものとしてはモダパーが適していると思います。

モダンPerl入門 (CodeZine BOOKS)

モダンPerl入門 (CodeZine BOOKS)

この本を「間を埋めるもの」として紹介したのは、デザインパターンやデータベース、テストについて触れているからです。
デザイパターンはプログラミング技法であるとともに、他のプログラマとのコミュニケーションに使う用語でもあります。Perlではそれほどデザインパターンが使われるわけではないのですが、会話に出てくることはたまにあります。したがって「デザイパターンというものがある」という事を知っておくのは重要です。
データベースはこれひとつで何冊も本が出るほどの大きなトピックです。しかし、Perlからデータベースにアクセスする方法についてはこのモダパーやCPAN本のデータベースの章である程度使えるようにはなるはずです。
テストについての解説も重要です。テストの大きな目的の一つは、開発中に一度潰したバグを再現してしまうといったような「後戻り」を防ぐことです。その日に書いたコードを無駄にしないためも、テスト手法については早めにマスターしておくべきでしょう。CPAN本のテストの章も参考になります。
さていくつか書籍を紹介しましたが、もちろん書籍以外からも学ぶことは大いにあります。また、学べば学ぶほど世界が広くなってくるので、「これで十分」という段階にはなかなか達しません。しかし「いいエンジニア」ならば手が届きます。私もまだまだ道半ばですが、共に「いいエンジニア」を目指しましょう。

*1:オプションなしのデフォルトの動作のみ。出力は微妙に違ってもいい。

*2:参考: http://d.hatena.ne.jp/gfx/20110402/1301750161

*3:通称ラクダ本。日本語版は2冊組。

*4:こちらも日本語版は2冊組。