新規記事投稿
フォロー記事投稿
記事のキャンセル
From: TAD
<hotani@mua.biglobe.ne.jp>
Subject: Re: jcode.pl一本で情報を渡してみたい
Date: 1999/01/20 11:06:50
Reference: mesh.program/00586
1月19日に、三葉工房の管理者さんは書きました。
> cgi-libさえあれば,当然,inputからの情報を渡す事が出来ます。
というか、jcode.plは変数中の文字列の文字コードを変換するライブラリですので、
inputからの情報を受け取ることはできません。
(なので、Subjectにあるような「jcode.pl一本で情報を渡してみたい」ということは
できませんよ。)
inputからの情報を受け取る場合は必ず、
cgi-libを使うか
にあさん作のhttp.pl(うぇぶ会議室に付いています)を使うか
自分でコーディングする(ライブラリ等を使わずにその処理を直接書く)
必要があります。
>(inputでは,なく***cgi?***=***と言うジャンプには,ReadParseは,
>利用出来ないのですか。その同一スクリプト内においてのジャンプリンクの方法
>も教えていただきたいです。)
三葉工房の管理者さんは特有の方言が多いですね。(^^;;
上記の文の「ジャンプリンク」というのはなんでしょうか。
なんとなく言いたいことはわかりましたので、少し解説しますと
<FORM ACTION="xxx.cgi" METHOD="POST">でCGIを呼び出したときは
<INPUT>で渡したデータはSTDIN(標準入力)にあるので、
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
$len = $ENV{'CONTENT_LENGTH'} + 0;
read(STDIN, $args, $len);
}
上記のような処理が必要になります。
で、<FORM ACTION="xxx.cgi" METHOD="GET">でCGIを呼び出したときや、
URLに "***cgi?***=***" を指定して呼び出したときは、
データは $ENV{'QUERY_STRING'}に入っています。
なので、データが両方にあるときは、両方のやり方でデータを取得すればいいのですが、
ReadParseでは、どちらかしかやっていないのではないですか。
その点、http.plのhttp_args関数はちゃんと両方からデータを拾ってくれるので
世話なしで便利です。(#^_^#)