書評 -最近読んだ Perl 関連本3冊をご紹介

料理本ばかり読んでるわけじゃありません。ちゃんと Perl 本も読んでます。図書館ですけど。

最近はタイトルの通り3冊読みました。その3冊は以下にご紹介してますが、手持ちの Perl 本も何冊か読み返しています。PERL HACKS と Perl Best Practices とプログラミングPerl VOLUME1です。最後の VOLUME1 は最終章の内部データ型って部分を読み返しています。Perl のソースを追いかけてしまったので、SV 型がいろいろと気になりだしてしまったのでお勉強続けています。

会社で Perl を教えることも多くなってきたので、いろいろと本を読んでどう伝えると良いかを日々模索中です。いままで教えてきた経験からするとハッシュという概念で一回つまずくみたいですね。次にリファレンスでつまずきますね。そして次にモジュールでつまずきますね。今ココ。そんな方へお薦めする本を探してるわけでして。。。

- スポンサーリンク -

Perlテクニックブック
Perlテクニックブック
posted with amazlet at 08.07.02
ミューテック
C&R研究所
売り上げランキング: 275667

目次

Chapter-01 Perlの基礎知識
Chapter-02 演算子・変数
Chapter-03 Perlの基本的な構文
Chapter-04 正規表現
Chapter-05 文字/数値の操作
Chapter-06 配列変数/ハッシュ変数の操作
Chapter-07 ファイルの操作
Chapter-08 ディレクトリの操作
Chapter-09 データベースの操作
Chapter-10 モジュールの使用
Chapter-11 その他の操作

テクニックとして、具体的なシーン別にプログラムが書かれていて Perl を今から勉強するぞ!みたいな方に参考になると思います。
例えば、「CHAPTER-04 正規表現」においては、こんな感じです。

・特定の文字列が含まれているかどうかを判定する
・特殊変数を使ってパターンマッチの記述を省略する
・特定の文字列が含まれていないかどうかを判定する
・・・
・指定した桁数で判定する
・指定した範囲の文字数で判定する
・複数の条件が全て一致することを判定する

「CHAPTER-08 ディレクトリの操作」も Perl でデータベース接続を初めて行う方には読みやすいと思います。少なくとも楽だ本よりは圧倒的に。
「CHAPTER-10 モジュールの使用」までを一通り読んだ後に他の本へ読み進むことをオススメします。この一冊だけでは勉強は完結しないと思います。

Perlマスターブック Perl5.6/5.8対応
坂田 健二
毎日コミュニケーションズ
売り上げランキング: 160966

目次

Chapter-01 Perlの概要とインストール
Chapter-02 スカラー変数とリテラル
Chapter-03 演算子
Chapter-04 配列と連想配列
Chapter-05 制御構造
Chapter-06 リファレンス
Chapter-07 ファイル操作・文字列操作・日付関数
Chapter-08 Perlスクリプトの構成
Chapter-09 正規表現(パターンマッチ)
Chapter-10 変数のスコープとシンボルテーブル
Chapter-11 サブルーチン
Chapter-12 パッケージとモジュール
Chapter-13 オブジェクト
Chapter-14 CGI
Chapter-15 マルチバイト文字の扱い
Chapter-16 モジュールの利用

「Chapter-16 モジュールの利用」の DBIx::Class モジュール(データベースアクセス)の章がヤバイです。全然 DBIx::Class の説明じゃないです。単なる DBI の説明です。本当にわかってるのか誤植ミスなのか不安になってきます。
「Chapter14 CGI」はサンプル CGI として簡単な投稿フォームの作成なのですが、この章もごっそり読み飛ばした方が良さそうです。
それ以外の章は可もなく不可もなく。初心者には若干読みづらいかもしれません。中級に入る前に読むレベルくらいです。
残念ながら、僕なら他の本を買うと思います。

Perl逆引きクイックリファレンス―Perl5.8対応
坂田 健二
毎日コミュニケーションズ
売り上げランキング: 52237

目次

Chapter-01 Perlの基本
Chapter-02 演算子
Chapter-03 制御構造
Chapter-04 特殊変数
Chapter-05 パターンマッチ
Chapter-06 文字列操作
Chapter-07 配列
Chapter-08 連想配列
Chapter-09 日時関数・数学関数
Chapter-10 ファイルアクセス
Chapter-11 オブジェクト
Chapter-12 ネットワーク関連
Chapter-13 データベースアクセス
Chapter-14 マルチバイト文字とコード変換
Chapter-15 CGI
Chapter-16 Catalyst
Chapter-17 その他の関数・モジュール

先ほどのPerlマスターブックの人が書いた別の著書。こちらは内容的におすすめです。Perlテクニックブックほど具体的なシーン別ではありませんが、より文法よりな内容で解説されている感じです。本書のみで一通り学習できるくらい内容がぎっしり詰まっています。ラクダ本が読みづらいと感じる方は本書は非常に読みやすいと感じることでしょう。
所々つっこみたくなる感は否めない(※実際使ってるのは今風なモジュールじゃないんだけど・・・Date::SimpleじゃなくてDateTime使おうとかさ。)のですが、モジュールの使い方とかちょこちょこ入っているので、参考にはなります。CPAN の説明とか perldoc みろよってのを覚える前にはよいのでは?

そうそう、「Chapter-16 Catalyst」で Catalyst も学べちゃいます。実際に Catalyst でアプリ書こうと思ったら、これだけでは全く情報が足りないんですけど、ヘルパーでひな形作ってから2歩先まで進むにはよいとおもいます。TT の文法説明が意外と役に立ったりします。
会社の同僚がこの本を買っていましたが、手元においておく1冊としては悪くない選択肢かと。

すぐわかる オブジェクト指向 Perl
深沢 千尋
技術評論社
売り上げランキング: 4588

目次

第01章 いきなりモジュールを使ってみる
第02章 「参照」は小粒でピリリと辛いスカラーリファレンス
第03章 配列のリファレンス
第04章 ハッシュのリファレンス
第05章 サブルーチンのリファレンス
第06章 ライブラリを取り込むrequire
第07章 名前空間を作るpackage
第08章 モジュールを使うuse
第09章 オブジェクト指向モジュールの活用
第10章 静的クラスの作成
第11章 オブジェクトクラスの作成
第12章 演算子のオーバーロード
第13章 オブジェクトクラスの継承、デストラクタ、永続化
第14章 オブジェクト指向モジュールを使ったCGI

研究コーナー1 一気読みモードでの文字列操作
研究コーナー2 リファレンスのまとめとシュウォーツ変換
研究コーナー3 本当にFile::Find を自作してみよう
研究コーナー4 対決!ベンチマークオブジェク

この本もコレ一冊で Perl のお勉強ができるって類の本じゃないので、この本を一番最初に読むって選択肢はまず無いと思うのですが、モジュールってものに興味が出てきた時点で読むと大変参考になる本だと思います。オブジェクトクラスの継承あたりが大変わかりやすく書けているかと思います。
「研究コーナー4 対決!ベンチマークオブジェク」では面積を求める処理を関数化しないでプログラム中に書いた場合とクラス化してメソッドとして呼ぶ場合で、ベンチマークで10倍の差がでましたよベンチマークがのってるわけですが、クラス化しない方が良いと言ってるわけではないので読み方を間違えないようにしたいものです。クラス化はそれ以上のメリットがたくさんあるので。もっとも、極めて単純な getter/setter 処理を高速化であれば、「404 Blog Not Found:perl - no accessor; # だって遅いんだもん」 に高速化の手法が書いてありましたので参考にしてみてはいかがでしょうか。

- スポンサーリンク -