[Perl] => [CGI]


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

CGIに変数を渡すウェブのインターフェースを作成するのが面倒な場合、シェルの環境変数を設定することでCGIにパラメータを渡すことができます。


手順として、まず環境変数REQUEST_METHODを設定します。(POSTもしくはGET) REQUEST_METHODにGETを指定した場合はQUERY_STRINGにCGIに渡すパラメータを設定します。一方、POSTを設定した場合はCGIに渡すパラメータを記述したファイルを準備し、wcコマンドなどで、文字列の長さを求め、その結果をCONTENT_LENGTHに設定します。


[例: REQUEST_METHODがPOSTの場合]
#REQUEST_METHODにPOSTを指定
export REQUEST_METHOD="POST"


#CGIに渡すパラメータをファイルに記述
[param.txt]
param1=val1


#wcでバイト数をチェック
wc ./param.txt
1 1 12 ./param.txt


#wcの結果から-1した値をCONTENT_LENGTHに設定
export CONTENT_LENGTH="11"


#パラメータを記述したファイルをcatし、CGIプログラムにパイプ
cat ./param.txt | param_check.cgi



関連記事
HTML::Template
Apache::ASP
CGI::Session - セッション管理
CGI - ヘッダーを出力する
シェルからCGIにパラメータを渡す
radio_group - ラジオボタンを表示
checkbox_group() - チェックボックスを表示する
エラーをブラウザーに表示するには - CGI::Debug
URLエンコードするには
リダイレクト
popup_menu - HTMLの選択フィールドを表示する
キャッシュを無効にするには
CGI::Cookie - クッキーの取得及び設置
CGIモジュール - フォームの値を取得
広告