[Perl]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

環境変数は連想配列%ENVに格納されています。
値を取り出すには $ENV{'環境変数名'}とします。

[例]
#!/usr/bin/perl

print "Content-type: text/html\n\n";

foreach (sort keys (%ENV)){
print "$_: $ENV{$_}<BR>\n";
}


[実行結果]
DOCUMENT_ROOT: /var/www/vhosts/server.ksknet.net/html
GATEWAY_INTERFACE: CGI/1.1
HTTP_ACCEPT: application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html
HTTP_ACCEPT_CHARSET: shift_jis, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1
HTTP_ACCEPT_ENCODING: deflate, gzip, x-gzip, identity, *;q=0
HTTP_ACCEPT_LANGUAGE: ja, en
HTTP_CACHE_CONTROL: no-cache
HTTP_CONNECTION: Keep-Alive, TE
HTTP_HOST: server.ksknet.net
HTTP_TE: deflate, gzip, chunked, identity, trailers
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.23 [ja]
PATH: /usr/local/bin:/usr/bin:/bin
QUERY_STRING:
REMOTE_ADDR: 192.168.1.4
REMOTE_PORT: 3136
REQUEST_METHOD: GET
REQUEST_URI: /cgi-bin/env.cgi
SCRIPT_FILENAME: /var/www/vhosts/server.ksknet.net/cgi-bin/env.cgi
SCRIPT_NAME: /cgi-bin/env.cgi
SCRIPT_URI: http://server.ksknet.net/cgi-bin/env.cgi
SCRIPT_URL: /cgi-bin/env.cgi
SERVER_ADDR: 218.219.203.56
SERVER_ADMIN: devnull@server.ksknet.net
SERVER_NAME: server.ksknet.net
SERVER_PORT: 80
SERVER_PROTOCOL: HTTP/1.1
SERVER_SOFTWARE: Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.2 PHP/4.3.2 mod_perl/1.26


[環境変数の説明]


DOCUMENT_ROOT: サーバ上のドキュメントルートに指定されているフォルダまでの絶対パス
GATEWAY_INTERFACE: 不明
HTTP_ACCEPT: サーバに登録されているMIMEタイプのリスト
HTTP_ACCEPT_CHARSET: サーバが受け付ける文字コードのリスト
HTTP_ACCEPT_ENCODING:
HTTP_ACCEPT_LANGUAGE: ブラウザが受け付ける言語の一覧?
HTTP_CACHE_CONTROL: 不明
HTTP_CONNECTION: 不明。httpd.confにKEEP ALIVEというディレクティブがあるが、その設定に関すること?
HTTP_HOST: サーバのホスト名
HTTP_TE: 不明
HTTP_REFERER: 参照元
HTTP_USER_AGENT: クライアントのブラウザに関する情報
PATH: APACHEユーザのパス情報?
QUERY_STRING: クエリーストリング(GETで渡される値)
REMOTE_ADDR: クライアントのIPアドレス
REMOTE_PORT: クライアントのポート番号
REQUEST_METHOD: リクエストメソッド。GETもしくはPOST
REQUEST_URI: 要求されたURL。(ログに残るGET以降の部分)
SCRIPT_FILENAME: 呼び出されたスクリプトのファイル名。(絶対パス)/var/www/vhosts/mt.ksknet.net/cgi-bin/env.cgi
SCRIPT_NAME: スクリプトの名前
SCRIPT_URI: httpからはじまるスクリプトまでのアドレス
SCRIPT_URL: スクリプトのURL
SERVER_ADDR: サーバのIPアドレス
SERVER_ADMIN: サーバ管理者のアドレス
SERVER_NAME: サーバのホスト名
SERVER_PORT: サーバのポート番号
SERVER_PROTOCOL: サーバプロトコル名
SERVER_SOFTWARE: サーバに使用されているソフトウェアの名前やバージョンなどの情報



関連記事
XML::RSS::Parser
perlの特殊変数一覧
Digest::SHA
DBIx::Class::Schema::Loader
Weak references are not implemented in the version of perl
Class::Accessor - accessorの自動作成
Module::Starter::PBPによるモジュールの作成
perlの特殊リテラル
XMLRPC::Lite
HTTP::Request::Common
標準入力の内容を標示しないようにする
EncodeモジュールでのMIME Encode
Template::Toolkit
@EXPORTと@EXPORT_OK
our - グローバル変数の宣言
h2xs - perlモジュールの雛形を作成
use base - クラスの継承
perlでのSSH接続
モジュールのバージョン確認方法
Encode::Guess - 文字コードの判別
Config::Simple - 外部設定ファイルの利用
CSVファイルの処理
select - ファイルハンドルの設定
defined - 変数が未定義値かどうかを調べる
@INCの追加
delete - ハッシュの値とキーを削除
リファレンスの階層構造
Text::Template - テンプレートファイルの読み込み
ref - リファレンスが参照している変数のタイプ
Use of uninitialized value in string eq
XML::XPath - 要素の検索
Wide character in print at ...
DBMファイルの読み込み
XML::Simple - XMLデータの読み込みと書き出し
Data::Dumper - データ構造を出力
HTML::LinkExtor - リンクの取り出し
until - 制御文
Net::Ping - ネットワークの疎通確認
正規表現 - 量指定子
CSRをdecodeするルーチン
IP::Country::Fast - IP割り当て国を調べる
mkdir - ディレクトリの作成
pod2manでperlモジュールのインストール失敗
fileparse - ファイルパスからファイル名などを取り出す
モジュールが見つからない場合のエラー処理
Archive::Zip - ZIPファイルの解凍
Getopt::Long - コマンドラインからのオプションと値の受け取り
数字のソート
LWP::UserAgent - Webデータの取得
sleep - プログラムの一時停止
stat - ファイル情報の取得
gethostbyaddr - IPアドレスからホスト名を取得
chdir - ディレクトリの移動
べき乗の計算
@ISAとは
Perlでの複数行コメント
ALRMシグナルでのタイムアウト処理
gethostbyname - ホスト名からIPアドレスを取得
Config.pm - CPANの設定
perlモジュールの作成方法
環境変数の取り出し
カレンダーを表示する
perlでシステムコマンドを使用するには
正規表現 - 数字以外にマッチさせる
無名ハッシュへのリファレンス
values - ハッシュから値を取り出す
keys - ハッシュからキーを取り出すには
each - ハッシュからキーと値を取り出す
use vars - use strict内でグローバル変数を使用するには
pdflib - PDFファイルを生成する
if文で{}の省略
変数の局所化に関するmyとlocalの違い
サブルーチンから複数の配列を返すには
数値3桁ごとにカンマで区切るには
サブルーチンを取り込むには
小数点切り捨て
小数点切り上げ
一定時間後の日付を調べるには
Date::Calc - 日付の計算
ファイルをアップロードさせる
undef - 変数の定義を無効にする
perlでの日付の比較
標準入力からの読み込み
郵便番号の入力形式チェック
Perlモジュールのインストール方法
広告