環境変数
環境変数はサーバからCGIプログラムへのデータ受け渡しに使われます。
これはサーバによって自動的にハッシュ%ENVに格納され、読み出しは$ENV{'CONTENT_LENGTH'}のように行います。フォームからのデータ入力やクッキーの受け渡しなどができます。主な内容を下表に示します。

環境変数内 容
CONTENT_LENGTHフォーム入力がPOSTの場合の入力データバイト数
CONTENT_TYPEデータの種類
GATEWAY_INTERFACEサーバのCGIバージョン
HTTP_COOKIEクッキーにセットされたデータ
HTTP_HOSTサーバ名
HTTP_REFERERCGIが呼び出されたページのURL
HTTP_USER_AGENTブラウザの情報
QUERY_STRINGフォーム入力がGETの場合の入力データ
REMOTE_ADDRクライアントのIPアドレス
REMOTE_HOSTクライアントのホスト名
REQUEST_METHOD入力方法の種類
SCRIPT_NAMECGIスクリプト名
SERVER_NAMEサーバ名
SERVER_SOFTWAREサーバソフトウエア名

下記のプログラムは環境変数の一覧を表示します。
■プログラム (sample20.cgi)
print "<center><b>環境変数</b><table border=1 cellspacing=0 cellpadding=1>\n";
foreach (sort keys %ENV) {
print "<tr><td nowrap>  $_</td><td>  $ENV{$_}</td></tr>\n";
}
print "</table></center>\n";
■実行結果
環境変数
  DOCUMENT_ROOT  /home/merlion/public_html
  GATEWAY_INTERFACE  CGI/1.1
  HTTP_ACCEPT  image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
  HTTP_ACCEPT_ENCODING  gzip, deflate
  HTTP_ACCEPT_LANGUAGE  ja
  HTTP_CONNECTION  Keep-Alive
  HTTP_COOKIE  sample=太郎,東京; bbs=管理者,#800000
  HTTP_HOST  merlion.cool.ne.jp
  HTTP_USER_AGENT  Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
  PATH  /usr/local/bin:/usr/bin:/bin
  QUERY_STRING 
  REMOTE_ADDR  210.249.200.249
  REMOTE_PORT  1799
  REQUEST_METHOD  GET
  REQUEST_URI  /cgi/_study/sample20.cgi
  SCRIPT_FILENAME  /home/merlion/public_html/cgi/_study/sample20.cgi
  SCRIPT_NAME  /cgi/_study/sample20.cgi
  SERVER_ADDR  211.13.208.196
  SERVER_NAME  merlion.cool.ne.jp
  SERVER_PORT  80
  SERVER_PROTOCOL  HTTP/1.1
  SERVER_SOFTWARE  Apache/1.3.26 (Unix)


HOME Copyright (C) CGI-design All Rights Reserved.