perl -- Practical Extraction and Report Language
(抽出 & 報告用実用的言語)
使い方 : perl [オプション] ファイル名 引数
perl は任意のテキストファイルの走査、テキストファイルからの情報の取り出し、 その情報に基づいたレポートの出力のために最適化されたインタープリタ言語である。 また、システム管理作業の多くに適した言語でもある。 perl は美しい(小さい、エレガント、最小)というよりは 実用的(使いやすい、効率的、完全)である。
perl は C、sed、awk、sh の 最もよいところを結合したものである(作者の意向としては、であるが)ので、 これらの言語になじみのある人ならば perl を使うのは容易であろう。 (言語歴史学者なら csh、Pascal、さらには BASIC-PLUS の痕跡に気がつくだろう。) 表現法は C の表現法にそっくりである。
大半の UNIX のユーティリティとは違い、 perl はデータのサイズを制限しない -- メモリがあるかぎり。 perl はファイル全体を一つの文字列として読み込むことができる。 再帰の深さも制限されない。 連想配列で用いられるハッシュテーブルも必要に応じて大きくなる。 これはパフォーマンスを落とさないためである。
perl は大量のデータを迅速に走査するために 洗練されたパターンマッチのテクニックを使っている。 テキストを走査するのに最適化されてはいるが、perl はバイナリデータも扱えるし、 (dbm が使えるなら) dbm ファイルを連想配列そっくりの形で扱える。
データフロー追跡機構のおかげで 馬鹿らしいセキュリティホールを避けることができるので、 Setuid された perl スクリプトは C プログラムよりも安全である。
もし、通常なら sed や awk や sh を使うような問題だが しかしそれらには荷が重すぎる場合、またはもう少し早く走らせる必要があるが くだらないことを Cで書きたくはない場合、perl がぴったりだ。 sed や awk のスクリプトから perl スクリプトへの変換プログラムもある。
さて、宣伝はこれで充分だ。