Environment Variable環境変数とは大雑把に言うと、「環境変数とは、いろいろなアプリケーションが参照するための定義」です。
Perl では、%ENV という特殊なハッシュ関数に格納され、この変数を通常の変数のように利用することで、環境変数を参照することができます。
| 変数 | 機能 |
| CONTENT_TYPE | データのMIMEコンテンツタイプを示します。 |
| CONTENT_LENGTH | POSTによってデータを標準入力から送る場合、そのデータのバイト数を参照します。フォームで method="post" にした場合、フォームデータのバイト数を格納することができます。 |
| HTTP_REFERER | このページを呼び出したリンク元の URIを格納します。直接入力あるいはブックマークから呼び出した場合には何も入りません。 |
| DOCUMENT_ROOT | そのドメイン(ホスト)のサーバ上のディレクトリがフルパスで格納されます。 |
| GATEWAY_INTERFACE | サーバで使用している CGIのバージョンを格納します。 |
| HTTP_USER_AGENT | ユーザエージェント名を格納します。 |
| REMOTE_ADDR | ユーザ側のマシンの IPアドレスを格納します。ダイヤルアップ接続の場合は、その時接続されているプロバイダ側の IPアドレスです。 |
| REMOTE_HOST | REMOTE_ADDR に対応するホスト名を格納します。 |
| REMOTE_USER | 認証機能で得たユーザー名を格納します。 |
| REQUEST_METHOD | サーバへの要求方法 (GET または POST) を格納します。 |
| SCRIPT_FILENAME | 呼び出した CGIプログラム名をサーバ上のフルパスで格納します。 |
| SCRIPT_NAME | 呼び出した CGIプログラム名を、ホスト名を除いた URLで格納します。 |
| SERVER_ADDR | サーバの IP アドレスを格納します。 |
| SERVER_ADMIN | サーバ管理者のメールアドレスが格納されます。(httpd.conf ファイルにセットされたメールアドレス) |
| SERVER_NAME | サーバのホスト名が格納されます。 |
| SERVER_PORT | サーバのポート番号が格納されます。(デフォルトは80番) |
| SERVER_SIGNATURE | エラーページなどで Apacheサーバが表示するページのフッタ部分にあたる署名の文字列です。 |
| SERVER_SOFTWARE | サーバ名とその OSのバージョンなどが格納されます。 |
| TZ | 呼び出したサーバにセットされているタイム・ゾーン(地方時間帯)。 |
print "Content-type: text/html\n\n<pre>";
foreach (sort keys %ENV) { print "$_ = $ENV{$_}\n"; }
print "</pre>\n";