Perl は、テキストファイルを読み取り、そこから情報を引き出し、その 情報を元に様々な報告を行なうように設計された、インタプリタ言語です。また、 多くのシステムマネジメントの作業を行なうのに適した言語でもあります。この 言語は、綺麗さ (小規模、エレガント、最少) ではなく、実用性(使い易さ、効 率、完全性)を目指しています。
この言語は、(少なくとも作者の意見では) C, sed, sh の良い部分を組み合わせ ているので、これらの言語に馴染みのある方には、それほど難しいものではない でしょう。(言語歴史学者はまた、csh, Pascal あるいは BASIC-PLUS の痕跡に も気付くかもしれません。) 式の構文はかなりの部分で、C の式の構文に対応し たものとなっています。多くの UNIX のユーティリティとは違って、Perl はデー タの大きさに恣意的な制限を設けません。つまり Perl では、メモリさえ十分に あれば、ファイルを丸ごと1つの文字列に入れてしまうこともできます。再帰の 深さにも制限がありません。また、連想配列が使用するハッシュテーブルは、パ フォーマンスを損なわないように、必要に応じて、自動的に大きくなります。 Perl では、大量のデータをすばやく走査できるように、工夫を凝らしたパター ンマッチの技術を使っています。テキストの走査のために設計されてはいますが、 Perl では、バイナリデータを扱うこともできますし、(dbm が使えるところでは) dbm ファイルを連想配列のようにして扱うこともできるようになっています。デー タフロートレース機構を使って、単純ミスによるセキュリティホールを塞ぐよう にしているため、多くの場合、setuid Perl スクリプトは C のプログラムより も安全です。
普通は sed や awk や sh で書くような問題でも、少し荷が重すぎるようなとき、 多少でも実行速度を速くしなければならないときや、C で書く程でもないときに は、Perl が最適でしょう。また、sed や awk のスクリプトを Perl のスクリプ トに変換するトランスレータも用意されています。
ちょっと待ってください、まだあります...
Perl version 5 は、ほとんど全て書き直しており、以下のようなことが追加さ れています:
yacc
文法は以前に比べて、半分の大きさになりました。任意文
法規則の多くが正規化されました。予約語の数は 2/3 ほどに切り詰めています。
それにもかかわらず、ほとんどすべての古い Perl のスクリプトを変更なしに使
うことができます。
XS
は、C や
C++ のルーティンを Perl に張り付けるのを手伝ってくれます。動的なモジュー
ルのロードがサポートされています。
BEGIN
と END
ブロックは、パッケージがコンパイルされ
るときと、プログラムが終了した後に制御を受け取るために使われます。縮退し
た形として、`-p' や `-n' スイッチを用いたときには awk の
BEGIN
と END
のように動作します。
dbmopen
インタフェースは、任意の変数をアクセスメソッドを定義して
いるオブジェクトクラスに tie
する形式に一般化されました。
さあ、誇大広告にはこれくらいにしましょう。
Go to the first, previous, next, last section, table of contents.