トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン


#amazon(483991415X,,image)

実践実用Perl―テキスト処理の基礎から情報ポータル構築まで

お薦め対象

Perl 入門書の次に

感想

あの藤岡さんの本。自分の日記に書いたまんまなので以下の 感想は唐突で読みづらいですが、お許しを。

p90:split 関数の最大分割数指定の必要性の説明が読み返さない と意味がわからなかった。5番目のフィールドのみ誤って複数フ ィールドに分解されるという前提はちょっとご都合主義的だと思 う。最後が , で終わっている場合と、データが , を含んでいる 場合の二つを一緒に説明してしまっている。ここは

{{{

 $_ = "1,2,3,";
 print join("/",split(/,/,$_,-1)),"\n";
 print join("/",split(/,/,$_   )),"\n";

}}} {{{

 $_ = "1,2,3,4,5a,5b,5c,6,7";
 @tmp = split(/,/,$_);
 print $_,"\n",join(" ",
     @tmp[0..3],
     join(",",@tmp[4..$#tmp-2]),
     @tmp[$#tmp-1..$#tmp]    # @tmp[-2..-1]
     ),"\n";

}}}

みたいに二つの問題として扱えばわかりやすい。スクリプトの処 理の流れを図で丁寧に説明しているくらいなので、図つきで説明 したほうがよかっただろう。

前半の perl リファレンス部分を読めば、この本が perl 入門で はなく入門書の次に読むべき本だということはわかるので、この 辺の説明がわかっている人は楽しめるが、わからない人が悩まな いかと心配な気もする。同じことは push/pop/shift/unshift の 説明にも言える。どうせ説明するなら図を書いて説明して欲しか ったところだ・・・僕は図がなくてもわかるけど(笑)。ちょっと 文章に頼りすぎかな。もっと図や表を併用して説明して欲しい。

ところで p282 の実態参照のエンコードのところは、< > & ' " の順に処理してるけど、& < > ' " の順でないとダメだよね。< が & amp;lt; になってしまうはず。%xx のエンコードも含めて、 この辺は CGI モジュールで済ませたほうが良いと思ったが、 jperl だと何か不都合があるんだったけかなぁ?

範囲演算子がスカラーコンテキストでは行番号と比較される、と いうのは TSnet でも出た覚えがあるが、知名度が低くおもしろい 話題だと思った。僕も使ってみよう。

dbm で格納できる1データの最大が 1KB というのは YukiWiki で も話題になった。p133 で大きなデータを取り扱う方法について言 及があるが、気にし始めると夜も眠れないところだと思うのでも っと丁寧に説明したほうが良い。後で例が出るということになっ ているが、スクリプトの中に埋もれていて説明が見つからない。 これがその回答だ、と明示すると良かった。

後半では HTML の話とスクリプトがじゃんじゃん出てくるが、こ れは見づらい。早々に Template モジュールを導入してシンプル に見せるべき。せっかく HTML を手入力せずに日記等を書こうと しているのに、その途上のスクリプトの中身が HTML 入力だらけ になってしまっては辛い。

同じく後半がセリフつきのプロポーショナルフォントのスクリプ トと、その説明ばかりが目立つのも残念で、著者の経験がもっと 書かていても良かった。例えば p188 にさらりと書いてあるが 、カテゴリは少なめが良いというのは「そうだよね」と共感を誘 う。perl と関係ないが、ポイントだろう。

最後の統合ぽーたるの構築は perl 命、CGI 大好き、な人にはい いが、少し懲りすぎかな。統合しなくても小さなツールとして独 立させるほうが僕の好み。すでにあるアイデアプロセッサとか PIM ソフト、あるいは Explorer を基地にするほうが簡単だ。

クリップメモのスクリプトも、どうにかして URL とタイトルを 自動で取得できないとイマイチなんじゃないかな。

しかし全体としては藤岡さんの個性や技術力、経験が現れていて 読み応えのある内容。コラムにある「タイムマシーン・コンピュ ーティング」のデスクトップの話など、藤岡さんならではだろう。 かといって過剰に知識を押し付けるわけでもない。説明よりも 知識が先行していて舌足らずな部分があったと思うが、入門書の 次なら楽に読めてそれでいて楽しめる内容だった。

perl と Unicode ではなく jperl と shift-jis と割り切った のも意外と悪くない。jperl が息を吹き返しそう。でも文献整理 での文字の扱いや最新の便利なモジュール、将来のことを考える と perl + Unicode でないといつか行き詰まるかな。続巻のネタ だろう。

僕は wiki で日記を書き捨てにしてるけど、この本を読んでサー バ上の wiki にこだわりすぎたかなという気もしている。p306 「インターネットとローカルのデータの両方を同時に扱うことが できる」という一文が新鮮に思えた。

サポート

Awakening CGI Module Project 「実践実用Perl」サポートページ