初めてのPerl 第5版

何ヶ月も前に読み終わってはいたのですが、最近ようやく練習問題も全て終わったのでその感想を。

  • 読んだ背景
    • 改めてPerlの基礎的な部分を学びたいと思い読みました。
    • 初めてのPerlは以前全くPerlに触れる前に読んだことがあって、今回第5版が発売されたので再読しました。
  • 読んでみて
    • 以前読んだときは、自分の知識不足で正直あまり理解できなかったのですが、今回は一通り理解出来たと思います。
    • また以前の版と比べて、自分の知識の違いもありますが、第5版になって翻訳も内容もさらに読みやすくなったように思います。
    • 普段コーディングをしていると同じようなスタイルのコーディングになることが多いので、こういう書き方があるのかと再発見することもありました。(リファレンスなどが使われていないので、遠回りな書き方になっている部分もありますが)
    • Perlの基礎的な部分について本当に丁寧に書かれており、こうして改めてPerlの各種変数の扱い方や制御文の扱い方を学ぶことは自分の知識を整理する意味でもとてもいい機会でした。
    • 5.10から追加された関数についての記述もあり、sayやgiven〜when、defined-or演算子(//)などを初めて使ってみることが出来たのもよかったです。
    • iノードなどUnixファイルシステムについての説明もあり、こちらも勉強になりました。
    • 普段使わないような処理(標準入力からの受付など)を書けたこともよかったです。
  • こんな人に
    • 過去の自分のように本当にプログラミング初心者がここから入ると、難しいと感じるかもしれませんが、他言語を経験されている方が選ぶPerlの入り口としては最適なんじゃないかと思います。(CGIをとにかくサクッと作りたいというのであれば他の本のほうがいいかもしれません)
    • あと、システムコール環境変数、プロセスについての記述もあるので、出来ればLinuxで試せる環境があった方がより理解出来ると思います。
    • 言うまでもないと思いますが、Perlをしっかり理解するなら一度は読むべき本だと思います。
  • 練習問題

練習問題として、実際に短いプログラムを書いてみることは、とてもいい勉強になりました。
練習問題の中に一つものすごく悩んだ問題がありました。
9章 正規表現によるテキスト処理の練習問題です。

テキストファイル中の「Fred(小文字大文字不問)」を「Wilma」に変え、「Wilma(小文字大文字不問)」を「Fred」に変えよ

これは結構悩みました。一応解答を作り答えを見てみて「それでいいんかい!」と思いました。
興味のある方は是非確認してみてください。