Larry Wallによって開発されたインタープリタ型のプログラミング言語の名称。Perlという名称は「Practical Extraction and Report Language」の頭文字からとったとされている(ごく初期のころには「Pearl」と表記されたこともあったようだが,同名のプロダクトがすでに存在していることなどから「a」を抜いた4文字に落ち着いた)。ローカルテスト環境の作成について
Perlはもともと,テキスト処理(テキストファイルの加工や整形出力など)に重点をおいた言語として作成されたが(Perl作成の動機がawkに対する不満だった),その後,次々と言語仕様が拡張され,ファイルそのものの操作(移動やリネーム,パーミッションの変更など)を始め,システムプログラミングやネットワークプログラミングなども可能な,汎用言語に勝るとも劣らない多くの機能を備えるに至った。
最近では,World Wide Webにおいて,ユーザーからの入力を受け取りダイナミックなページを作成するようなシステムが,CGIとPerlスクリプトを利用して構築されたり,Perlで記述されたスクリプトそのものが, (C言語で記述されたプログラムらと同様に)Internetなどで公開されさたりするなど,汎用プログラミング言語として広く利用されている。(ASCII Glossary HELPより)
Perlのテストは結構大変です。HTMLやJavaScriptは、ローカルな環境で動作するものでしたが、Perlスクリプトはサーバー側で動作します。ぢゃあ、サーバーでテストすれば?…スクリプトを修正するたびにアップロードするの大変だし、その間電話つなぎっぱなしだし、なにより無限ループさせようものなら、サーバーを使用しているすべての方に迷惑をかけることになります。どうやってHTMLから呼ばれるの?
ここでは、非常に便利な「ローカル環境でPerlを動作させる」ためのモジュールを紹介します。とりあえず、Windowsユーザー用。
リンク先に詳しい説明が出ていますので、そちらを参考にすると良いと思います(手抜き)。
WWWサーバーへ接続したときに実行される簡単なPerlスクリプトを書く
<!--#exec cmd="http://xxx.co.jp/cgi-bin/xxxxx.pl"--> <IMG SRC="http://xxx.co.jp/cgi-bin/xxxxx.cgi">クライアントからの要求で実行される
<A HREF="http://xxx.co.jp/cgi-bin/xxxxx.cgi">ここを押してね</A>
言語仕様は、比較的C言語に近いです。C言語をかじったことのある方であれば、すんなり入っていけると思います。
#! /usr/local/bin/perl # #------------------------------------------------------------- # 文字を出力するだけー #------------------------------------------------------------- # print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<BODY BGCOLOR=\"#000000\" TEXT=\"#FFFFFF\">\n"; print "<CENTER>\n"; print "<H1>Perlスクリプトのテストですぅ</H1>\n"; print "</CENTER>\n"; print "</BODY>\n"; print "</HTML>\n"; exit;実行結果
1行目の #! /usr/local/bin/perl はPerlへのパスです。UNIXサーバーでPerlを使用する場合、必ず記述しなければなりません。Microsoft社のInternet Information Server(IIS)では、指定しなくても動作します。 Perlパスはサーバーによって異なる場合がありますので、サーバーのインフォメーションで確認が必要になると思います。
# から始まる行はすべてコメントです。
print "〜"; は表示命令で、"(ダブルクォーテーション)で囲まれた文字列を表示します。文字列内では、HTMLタグを使用することもできます。\nは出力する際の改行指定です。
exit; でPerlスクリプト実行を終了します。