環境変数一覧
 
次のCGIスクリプトですべての環境変数が表示されます。なかにはCGIを実行しているサーバ固有の環境変数もありますので、複数の種類のWebサーバ上で実行する可能性がある場合は、それらに依存したCGIスクリプトを書くことは避けましょう。

実行例(PWSの場合)

[サンプルプログラムの実行]
 
 
getenv.cgi
#!/usr/bin/perl
#
# getenv.cgi
#
# 環境変数一覧の表示
#
# (C) Kaoru Fujita
#

#
# 定数
#
# タイトル
$Title = '環境変数一覧サンプルプログラム';

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>$Title</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
foreach (sort keys %ENV) {
        print "$_: $ENV{$_}<BR>\n";
}
print "</BODY>\n";
print "</HTML>\n";

exit(0);

#--End of getenv.cgi

CGIで利用できる一般的な環境変数は次のとおりです。
( )つきの環境変数はある条件のもとに設定されたり、設定されないことが多いものです。
REQUEST_METHOD リクエストメソッド(GETまたはPOST)
CONTENT_TYPE 入力データのMIMEタイプ
CONTENT_LENGTH 入力データの長さ(バイト)
QUERY_STRING エンコードされた入力データ
PATH_INFO パス情報
PATH_TRANSLATED PATH_INFOで示されるパス情報をそのシステムのフルパスに変換したもの
SCRIPT_NAME 仮想パス名を含むCGIスクリプト名
DOCUMENT_ROOT ドキュメントルート
REMOTE_HOST リモート(ブラウザ側)ホスト名
REMOTE_ADDR リモート(ブラウザ側)IPアドレス
REMOTE_USER リモート(ブラウザ側)ユーザ名
(REMOTE_IDENT) サーバが実行するidentコマンドの値
(AUTH_TYPE) 認証方法
SERVER_NAME サーバのホスト名
SERVER_SOFTWARE Webサーバのソフトウェア名とバージョン
GATEWAY_INTERFACE Webサーバが実行しているCGIのバージョン
(HTTP_FORM) ブラウザに設定されているE-Mailアドレス
HTTP_ACCEPT ブラウザが理解できるMIMEタイプ
HTTP_ACCEPT_CHARSET ブラウザが理解できる文字コードセット
HTTP_ACCEPT_LANGUAGE ブラウザが理解できる各国語
HTTP_USER_AGENT ブラウザの種類/バージョン
(HTTP_REFERER) このCGIが呼び出される前に参照していたURL