- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:reuire 先に引数が渡ってしまう)
CGIに関する現象についての質問
このQ&Aのポイント
- CGIの実行時に引数の値が$ARGV[0]に書き込まれる現象が発生しています。
- 具体的には、.../check.cgi?2を実行した場合、?より後ろの値が$ARGV[0]に書き込まれます。
- この現象はWin2000Pro + AnHTTPd 1.42k + ActivePerl 5.6.1 + IE6の環境で発生しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> これって仕様なんでしょうか。 仕様です。 ていうかこれが正常動作(もともと意図された動作)です。
その他の回答 (1)
- Ethersky
- ベストアンサー率71% (168/235)
回答No.2
元々、@ARGVはスクリプトの起動時に与えられた引数のリストを入れるためのものです。 なのでコマンドプロンプトで呼び出すときに perl xxx.pl arg1 arg2 とすれば $#ARGV が 1 scalar(@ARGV) が 2 $ARGV[0] が arg1 $ARGV[1] が arg2 となり、 CGIを呼び出す際に <form method="post" action="xxx.cgi?arg1+arg2"> のように呼び出せば、 $#ARGV が 1 scalar(@ARGV) が 2 $ARGV[0] が arg1 $ARGV[1] が arg2 となります。
質問者
お礼
ありがとうございます。 なぁるほど! 機能文字としてのイコールがあるかどうかなんですね。 これは覚えておけばあとあと役立ちそうです。 ありがとうございました。
補足
ありがとうございます。 ついでに、どのレベルでどういう条件で区別されてるのかも教えていただけますでしょうか。