Perlで知っておきたいCGI環境変数一覧と活用法
作成日:2007.08.17
PerlでのCGIスクリプト開発時に知っておくべき環境変数の一覧を紹介します。クライアントのIPアドレスやユーザーエージェントの取得方法から、URIやメソッドの情報の参照まで、実用的な変数を簡単な例とともに説明しています。
error この記事は最終更新日から17年以上が経過しています。
perlの、特にCGIでよく使う環境変数の一覧です。
ちなみに、perlの環境変数は連想配列 %ENV に格納されていて、 $ENV{'REMOTE_ADDR'} 等として参照できます。
- REMOTE_ADDR
- スクリプトを実行したクライアントのリモートアドレス(IPアドレス)。
- REMOTE_HOST
- スクリプトを実行したクライアントのリモートホスト。
- HTTP_USER_AGENT
- スクリプトを実行したクライアントのユーザーエージェント
- HTTP_COOKIE
- スクリプトを実行したクライアントのCOOKIEの値
- HTTP_HOST
- リクエストされたURIのホスト名。
- REQUEST_METHOD
- スクリプトを実行したメソッド。GET、POST、HEAD等。
- CONTENT_LENGTH
- POSTメソッドで渡されたデータの長さ。
- QUERY_STRING
- GETメソッドで渡されたクエリの内容。所謂「●●.cgi?■■■」の■■■の部分。
- PATH_INFO
- リクエストされたURIのパス。最近流行の、SEOを意識してGETメソッドではなく「/」区切りでデータをCGIに渡す手法を使う際には、これを参照することが多い。
- SCRIPT_NAME
- 実行されたスクリプトのURI上の「/」からのパス。
- SCRIPT_FILENAME
- 実行されたスクリプトのルートからのパス。
- SERVER_PORT
- 通信に利用したサーバーのポート。SSLと非SSLでのアクセスの判断等に使ったりする。

奈良市を拠点に、26年以上の経験を持つフリーランスWebエンジニア、阿部辰也です。
これまで、ECサイトのバックエンド開発や業務効率化システム、公共施設の予約システムなど、多彩なプロジェクトを手がけ、企業様や制作会社様のパートナーとして信頼を築いてまいりました。
【制作会社・企業様向けサポート】
Webシステムの開発やサイト改善でお困りの際は、どうぞお気軽にご相談ください。小さな疑問から大規模プロジェクトまで、最適なご提案を心を込めてさせていただきます。
ぜひ、プロフィールやWeb制作会社様向け業務案内、一般企業様向け業務案内もご覧くださいね。
シンプルなSAML認証用SPの構築:第一回 PerlとNet::SAML2で作るメタデータ生成スクリプト
2025.06.06
PerlとNet::SAML2を利用して、シンプルな構成のSAML認証用SPの構築方法をご紹介します。CPANによるモジュール導入、テスト用の自己署名証明書と秘密鍵の準備方法に触れ、SPのエンティティIDやACS URL、エラーURLといった必要情報を含むメタデータをXML形式で生成するスクリプトの実装例を解説します。
シンプルなSAML認証用SPの構築:第三回 PerlとNet::SAML2で作るACSスクリプト
2025.06.10
連載第3回となる本稿では、PerlとNet::SAML2を用いて、ACS (Assertion Consumer Service) スクリプトの作成方法に焦点を当てます。IdPからのSAMLレスポンスを受信し、アサーションの検証やユーザー属性の取得といった重要な処理を実装する手順を、実際のコード例を交えてわかりやすく紹介。SAML認証の全体像とその実現に必要な知識を身につけるための内容です。
シンプルなSAML認証用SPの構築:第二回 PerlとNet::SAML2で作る認証要求送信スクリプト
2025.06.09
本記事は連載第2回として、前回構築したSPメタデータ生成スクリプトに引き続き、IdP(Identity Provider)への認証要求送信処理の実装方法を解説します。PerlとNet::SAML2モジュールを活用し、SAML 2.0仕様に基づいた認証要求の生成、リダイレクト処理、そしてセッションに認証要求IDを保存する基本的な手法をご紹介します。
Movable Type システムログ出力ガイド ― MT::App の log メソッドでエラーメッセージを記録する方法
2025.06.03
Movable Type のシステムログにエラーメッセージや各種情報を出力する方法について、MT::App の log メソッドを利用した具体的な実装例を解説します。ログレベル、クラス、カテゴリを指定することにより、出力内容を柔軟に分類・管理できる仕組みを詳述し、管理画面でのログ確認方法やデータベーステーブルでの確認方法も合わせて説明します。