一行表示するCGI

  1. 目的

    ここでは、helloと一行表示するPerl言語のCGIを作成します。

  2. Perlスクリプト(プログラム)

    1. プログラム例

       次に、webに1行を表示するPerlプログラムを示します。

      hello.cgi
      #! /usr/local/bin/perl
      # first sample print<<HT_ML; Content-type: text/html\n\n <html> <head> <title>sample1</title> </head> <body> <h1>hello</h1> </body> </html> HT_ML

       第一行はコメントで、Perl言語を実行するプログラムが存在するディレクトリを示します。コメント扱いになっていますが、CGIとして実行するために web サーバーが必要とする情報です。多くのサーバーは 
       /usr/local/bin/perl にありますが、他の場合もあります。
      3行目の print<<HT_ML; は HT_ML があらわれるまで以下の文を標準出力に書き出します。先頭の
       Content-type: text/html\n\n 
      はサーバーからブラウザに html を送るときの先頭となる行です。最後の \n\n も必要な改行であり、省略してはいけません。<html>以下は、任意のホームページの書式です。この内容を変更すれば、表示するページの内容が変化します。HT_ML は単なるラベルで別の名前でもかまいません。

  3. 実行手順


    1. 動作の確認

      上記のhello.cgiのファイルを作成します。拡張子 .cgi はCGIプログラムの標準的な拡張子です。コマンドプロンプト
          C:\perl hello.cgi
      で実行し、動作を確認します。以下のような表示が出ます。
      C:\Lang\Perl\cgi>perl hello.cgi
      Content-type: text/html
      
      
      <html>
      <head>
       <title>sample1</title>
      </head>
      
      <body>
       <h2>hello</h2>
      </body>
      </html>

    2. cgiの実行(ローカルサーバーを利用する場合)

      cgiの実行は、htmlファイルと同じです。apache(ホームページサーバー)を組み込んでいる場合、hello.cgi を   Apacheからアクセスできる位置に配置します。(ここではHome\user\public_html\sample に保存します。)
      Apacheを起動し、 IE(ブラウザ)でcgiにアクセスします。URLとして、hello.cgi を指定します。下の例は、~user/sample/に hello.cgi を配置した場合です。
       http://127.0.0.1/~user/sample/hello.cgi
      これで、hello.cgi が実行され、ブラウザに hello.cgi が生成したホームページが表示されます。
       cgi は次のように HREFタグ でも起動できます。
       <A HREF="hello.cgi>cgiの実行</A>
      インターネットに接続したcgi利用可能なwebサーバーが利用できる場合、cgiファイルをFTPで転送し、htmlファイルとどうように接続(リンク)します。

       ローカルサーバーの組込み法は、次節で紹介します。

    3. cgiの実行(Linuxサーバーを利用する場合)

      ここでは、本ページをサービスしているLinux OSのwebサーバーで、cgiを実行します。まず、cgiファイルを EUCコード(改行コードは LF)で、指定ディレクトリに保存します。文字コードと改行コードの指定は、フリーウエアのTeraPadを利用すると便利です。ファイルメニューから、「漢字、改行コード指定保存」を選択します。
      以下をクリックしてください。

      hello.cgi へのリンク