• ベストアンサー

変数の代入

http://oshiete1.goo.ne.jp/kotaeru.php3?q=620304 の続きなのです。変数の取得の仕方はわかったのですが、 require '../lib/cgi-lib.pl'; &ReadParse(*in); $year=$in{'year'}; $month=$in{'month'}; のように値を .html からひらってきているような場合、値が0(なし)になってしまうと思うのですが、こういった場合、どういう方法をとるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

htmlからひらってきている場合って?? どこがひらってきているの?

wakaranai_kun
質問者

補足

日本語がまずかったです。 例としては、 cgi を abc.cgi として、その呼び出しを <a href="abc.cgi?year=8&month=5">cgiの呼び出し</a> としている場合です。

その他の回答 (3)

  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.4

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)
回答No.3

require '../lib/cgi-lib.pl'; &ReadParse(*in); $year=$in{'year'}; $month=$in{'month'}; を、 require '../lib/cgi-lib.pl'; &ReadParse(*in); $year=8; $month=5; じゃだめですか?

wakaranai_kun
質問者

補足

それも一つだと思うのですが、サブルーチンとか複雑になってくるととても大変になってくると思います。みなさん、どんなデバッグをされているのでしょうか?

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

ちゃんと取得できると思いますよ。 そのReadParseがPOSTだけでなく、GETも取得するのであれば・・・。 cgi-lib.plは使ったことないけど、 普通は取得できるようにしているはずです。 試して見ました?

wakaranai_kun
質問者

補足

たびたび、中途半端ですみません。 前回の続きと言うことで、デバッグ中にということです。 $perl -d abc.cgi と した場合、.htmlから渡されるべきをデバッグ中では放り込むことができないものかと。。言うのが本旨です。