PerlとCGIの基礎

PerlとCGIの基礎

Perlについて

Web Liberty を含むほとんどのWebサイトで配布されているCGIプログラムは、Perl(パール)と呼ばれるプログラミング言語で書かれています。

Perl とは、Practical Extraction and Report Language の略称です。これは「実用的なレポート作成言語」の意味で、その名の通り、テキストデータを扱うことに優れた言語です。…とよく紹介されていますが、本来は真珠(pearl)が元になっているらしいです。

Web プログラミングに使用される言語には、他にも PHP、Java、C言語 などといった色々な種類の言語がありますが、今回はPerlを使用してCGIプログラムを作成する方法を紹介します。

CGIについて

CGIがどういうものなのかについては、CGIとは のページを参照してください。

CGIをWindowsで実行する方法

CGIプログラムは環境の整ったサーバーにアップロードしなければ動作しませんが、サーバーソフトとPerlをインストールすればWindows上でも実行することができます。プログラムの作成中、動作確認のために毎回サーバーにアップロードするのは面倒なので、Windows上で実行できるようにしておいた方が便利です。

CGIプログラムをWindows上で実行する方法については、WindowsでCGIを動作させるで詳しく解説しています。参考にしてダウンロードとインストールをしてみてください。

次からの解説は、Windows上でCGIを実行させる環境が整っているものとして解説を進めます。

はじめてのCGIプログラム

CGIを実行できるフォルダ内に sample.cgi という名前でファイルを作成し、そのファイルに以下の内容を記述します。

#!/usr/local/bin/perl
print "Content-Type: text/html; charset=Shift_JIS\n\n";
print "<html>";
print "<head><title>サンプル</title></head>";
print "<body>";
print "<p>初めてのCGI。</p>";
print "</body>";
print "</html>";
exit;

作成できたら、ブラウザから http:// 経由で sample.cgi を呼び出してみてください。ブラウザに 初めてのCGI。 と表示されれば成功です。

Perlのパスが /usr/local/bin/perl でCGIを実行する方法は、Apache+ActivePerl のインストール補足を参考にしてください。

サーバーにアップロードして実行する方法

sample.cgi の動作が確認できたら、本番の環境でも同様に動作するか確認してみましょう。

サーバーでの実行は、Windowsでの実行とは異なる手順がいくつかでてきます。代表的なものは以下の通りですが、サーバーによっては「cgi-bin フォルダ内にアップロードしなければ動作しない」など、何らかの制限がされている場合があるので注意が必要です。

今回の場合、sample.cgi のパーミッションの値は 705 に設定します。

サーバー側でCGIを動作させる詳しい方法については、CGIの基本的な設置方法テスト用プログラムの設置を参考にしてください。

ここまでができれば、CGIを作成する環境の準備が整いました。次からは実際にプログラムの解説をしていきます。