$1 ページの表示

1-1 世界一簡単なCGI

まずは、実際のプログラムを見ましょう。

注意:これからの例で、行の先頭の「1: 」とかの部分は、実際のPerlプログラムには書きません。 説明しやすくするためのものです。

  1: #! /usr/bin/perl
  2: print "Content-type: text/html\n\n";
  3: print "Hello!";

たった3行で、まともなCGIが出来ます。 これでは単に「Hello!」と表示するだけですけど、これが出発点です。
ほとんどすべてのCGIで、何かしらページに文章を表示する必要があるはずなので、 基本的にこの3行がすべて使われているはずです。
(3行目の「Hello!」の部分は違ってるでしょうけど)

では、順番に説明しましょう。

1行目は、「これから下に書いてあるプログラムはPerlプログラムである」という意味です。 これが無いとただのテキストファイルとなり、サーバーが内容をどう解釈していいのかわからなくなります。 具体的には、そのサーバーの中の真のPerlプログラム (テキストで書かれたプログラムを解釈して実行してくれるプログラムです。「インタプリタ」とも呼ばれます) の場所を書きます。 したがって、サーバーによって書き方が違うことがあります。

2行目は、「このあと print 文で出力されることはHTMLファイルである」という意味です。 普通のファイルでは、拡張子(.html)などで HTMLファイルか、画像ファイルなのかとか判断します。 しかし、CGIで出力されるものは何かわからないのです。 そこで、この行を書くことでHTMLファイルであるということを宣言します。
(CGIでは、いろいろなデータを作りだせるので、例えばJPEGファイルを作る場合は、 Content-type: image/jpeg\n\n となります)

3行目は、実際にページに表示する内容、正確には「HTML文」ということになります。 ふつうのHTMLファイルに書くことを、print " " の クォート(「"」のこと)の間に書きます。 ただし、直接使えない文字もあるので(例えばクォート文字)注意が必要です。 そして、この「HTML文」として書かれるところを、プログラムで置き換えることによって、 ページの表示をいろいろ作りだすわけです。

次に、もっとプログラムならではという例を作ってみましょう。


Next: 1-2 時間を使った表示

Contents


Foundation of CGI Page

春風はるか haruka@harukaze.net