- ベストアンサー
変数の代入
http://oshiete1.goo.ne.jp/kotaeru.php3?q=620304 の続きなのです。変数の取得の仕方はわかったのですが、 require '../lib/cgi-lib.pl'; &ReadParse(*in); $year=$in{'year'}; $month=$in{'month'}; のように値を .html からひらってきているような場合、値が0(なし)になってしまうと思うのですが、こういった場合、どういう方法をとるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
htmlからひらってきている場合って?? どこがひらってきているの?
その他の回答 (3)
- bikkuri
- ベストアンサー率33% (23/68)
telnetなりのコマンドプロンプトからCGIファイルを 直接実行してのデバッグの場合に必要なパラメータをどのように渡すのか? ですか? その場合の方法です。 #1の補足の様な場合や、formのGETで渡している場合は、 実際のURLの"?"以降を環境変数QUERY_STRINGに設定してから CGIを実行します。 setenv QUERY_STRING year=8&month=5 (cshの場合) abc.cgi (場合によっては、./abc.cgiなど) です。 POSTの場合は、"?"以降を標準入力として渡します。
- the845t
- ベストアンサー率33% (246/743)
require '../lib/cgi-lib.pl'; &ReadParse(*in); $year=$in{'year'}; $month=$in{'month'}; を、 require '../lib/cgi-lib.pl'; &ReadParse(*in); $year=8; $month=5; じゃだめですか?
補足
それも一つだと思うのですが、サブルーチンとか複雑になってくるととても大変になってくると思います。みなさん、どんなデバッグをされているのでしょうか?
- the845t
- ベストアンサー率33% (246/743)
ちゃんと取得できると思いますよ。 そのReadParseがPOSTだけでなく、GETも取得するのであれば・・・。 cgi-lib.plは使ったことないけど、 普通は取得できるようにしているはずです。 試して見ました?
補足
たびたび、中途半端ですみません。 前回の続きと言うことで、デバッグ中にということです。 $perl -d abc.cgi と した場合、.htmlから渡されるべきをデバッグ中では放り込むことができないものかと。。言うのが本旨です。
補足
日本語がまずかったです。 例としては、 cgi を abc.cgi として、その呼び出しを <a href="abc.cgi?year=8&month=5">cgiの呼び出し</a> としている場合です。