ピンボールアクエリオン

PerlPractical Extraction and Report Language

Perlとは、簡潔な記述や柔軟性、拡張性の高さが特徴的な高水準のプログラミング言語の一つ。いわゆるスクリプト言語あるいは軽量言語(LL:Lightweight Language)の草分けの一つで、UNIX系OSを中心に広く普及している。

 

基本的な文法や記法やC言語に似ているが、多様で自由度が高く、記号などを組み合わせた簡潔な記法で処理を記述することができる。言語仕様の一部に正規表現を取り込むなどテキスト(文字)処理のための豊富な機能が用意されており、また、連想配列(ハッシュ)やリファレンス変数などのメモリ上の位置を扱う機能)など高度な機能も標準で用意されている。

積極的に新しい機能を取り入れる開発姿勢でも知られ、オブジェクト指向プログラミングを可能にする拡張や、プログラムモジュール(部品)化およびモジュールの読み込み機能、Unicodeなど多言語環境への対応、スレッドクロージャリフレクションガベージコレクションなどが追加された。

プログラムのモジュール化の仕組みを利用して、世界中のプログラマが標準にない機能や便利な機能をPerlモジュールとして公開しており、その多くはCPAN(Comprehensive Perl Archive Network)と呼ばれるインターネット上のアーカイブに蓄積されている。標準の開発ツールの一部としてCPANにアクセスしてモジュールを入手・導入するソフトウェアが提供されており、様々なモジュールを自分のプログラムの一部として取り込むことができる。

標準の言語処理系にはソースコードを読み込みながら同時に実行するインタプリタが含まれ、コンパイルビルドなど手間や時間のかかる作業を省略して記述したプログラムを即座に実行してみることができる。この処理系オープンソースソフトウェアとして公開されており、誰でも自由に入手、利用、改変、再配布などすることができる。当初はUNIX系OS向けに開発されていたが、人気の高まりとともにWindowsなど数多くの環境に移植され、様々な機種やOSで利用可能となっている。

Perlの最初のバージョンは1987年にラリー・ウォール(Larry Wall)氏が発表したもので、UNIXでの簡易なテキスト処理プログラムやシステム管理プログラムを開発する言語として人気を博した。インターネットが普及し始めると、Webサーバ動的にプログラムを実行して結果をWebページとして送信するCGI(Common Gateway Interface)の開発言語として広く普及した。

CPAN (Comprehensive Perl Archive Network)

Perlプログラムに組み込んで利用できるモジュール(ソフトウェア部品)を収集・公開しているWebサイトをCPAN(シーパン)という。

モジュールの登録や入手は原則として誰でも可能となっており、世界中のPerlプログラマが開発したモジュールを自分のプログラムに組み込んでその機能を使用することができる。CPANの利用は専用のコマンド対話型プログラムである「cpan」を通じて行うことができ、CPANサーバからモジュールをダウンロードして自らのPerl実行環境に組み込んで使用可能な状態にすることができる。

mod_perl

Webサーバソフト「Apache」の追加機能(モジュール)の一つで、Perl言語で書かれたプログラムを高速に実行する機能をmod_perl(モドパール)という。

Apache/Perl Integration Projectというグループが開発したソフトウェアで、これを組み込んだApacheは、通常のCGIなどと比較して数十倍高速にPerlプログラムを実行することができる。これは、素のCGIではプログラムが呼び出されるたびに機械語への変換が行われ、その分余計な実行時間がかかるのに対し、mod_perlでは変換(コンパイル)が行われるのは最初の一回だけで、変換後のプログラムがメモリ上に常駐キャッシュ)されるためである。

ActivePerl

ActiveState社が提供しているPerlの実行環境をActivePerl(アクティブパール)という。Perlの標準(公式)の実行環境がUNIX向けであるため、Windowsネイティブの実行環境として開発されたが、後に各種のUNIX向けなど他環境へも移植された。

Windowsならではの機能として、ActiveX技術を応用したPerlScriptという実行環境も提供しており、他のアプリケーションソフトにPerl実行環境を組み込んで動作させることができる。また、Microsoft社のWebサーバソフトであるIIS(Internet Information Server)で高速にCGIプログラムなどを動作させることができるライブラリなども付属する。

他の辞典による解説 (外部サイト)