Perl最近はPythonRubyなどと並んでLightweight Languageと呼ばれるようになったプログラミング言語の筆頭に挙げられるのがPerlですが、現在まで続くブログブーム以前はPerlといえばCGIのための言語、Perl=CGIと誤解されてしまっていました。確かにUnix系のOSでは準標準的に処理系がインストールされていることが多いので、クロスプラットフォームの開発に向いていたりネットワーク系の処理が得意だったりするのでCGIにはよく使われていましたし、ブログブームの立役者の一人とも言えるMovableTypeも主にPerlにより記述されたCGIにより構成されています。

しかしもともとPerlはテキスト処理を得意とするスクリプト言語であり、拡張に次ぐ拡張でネットワーク処理を始めとするあらゆる分野で応用の効く万能言語になってしまったものです。今ではCでできてPerlでできないのはデバイスドライバを書くことぐらいではないでしょうか。もちろん適材適所ということは考える必要があり、何でもかんでもPerlでやるというは愚の骨頂ですが、無理して頑張れば何でもできてしまいます。

そんなPerlと私との出会いは今から15年近く前に遡ることになります。当時はPCと言えばDOSで動くもので、Workstationなどで動くUnixなどはまだ大学で触れるだけの存在だったのですが、sedawkというスクリプト言語に256倍などで興味を持ち、その後「これからはPerlらしい」ということでいわゆる赤ラクダ本を買って読んだのがきっかけです。それ以来、それこそ何でもできるPerlに惚れこんでしまい、仕事にも趣味にも広く活用しています。

というPerl、TMTOWTDI(There’s More Than One Way To Do It)というスローガン(?)の通り同じことをするにも好きなように色々な記述を行うことができるのですが、それがいいようであり、実は困ったことでもあります。自分がプログラムを書く場合には好みに沿ってある程度決まった書き方をするでしょうから特に問題はないのですが、他人が書いたプログラムを読もうとすると実に難解な場合が少なくなく、それは即ち保守性という面で大きな問題となります。

この問題も含め、Perlで品質の高いプログラムを書くためのガイドラインを経験に基く丁寧な解説とともにまとめられたPerl Best Practiceの日本語版が発行されたので、私もさっそく買って読んでみました。

Perlベストプラクティス
Perlベストプラクティス

posted with amazlet on 06.09.26
Damian Conway クイープ
オライリー・ジャパン (2006/08/24)

私は仕事では組み込みソフトウェアの開発を担当していて、C言語では似たような話で職場内のルール作りにも関わってきました。しかし永らく親しんできたPerlでこの手の書籍は見たことがなかったので、自分のPerlプロラミングを見直すいいきっかけとなり、またとても参考になる読みやすい内容で非常にいい本だと思います。Perlによるプログラムを直接納入するような場合でなくても、この本のガイドラインに沿っておけばデバッグに無駄に時間を費すことがなくなり、役立つのではないでしょうか。私もこの本を読んで、少々見直さなければならないところがありましたが、それは素直に納得できるように解説されていました。

「Perl CGIで掲示板を作ろう!」というような入門書の中には実に酷い粗悪な内容のものも多かったので、そういう本で学んでしまった人にとっては目からウロコが落ちるような思いをすることもあるかもしれません。対象は日頃Perlを活用している中級以上のプログラマということになるかと思いますが、上級を目指す(?)全てのPerlプログラマが一度は読んでおくべき必携の書、と私は断言したいところです。

関連投稿