今日、CGIに関して面白い現象を発見しました。
.../check.cgi?2
.../check.cgi?a=2
上記の2つのプログラムをCGIで起動した場合、前者だと、実行時に $ARGV[0] の中に ? より後ろが書き込まれてしまう、という現象が起こったのです。
つまり、$ARGV[0] = $ENV{'QUERY_STRING'}; を実行したのと同じ状態になります。
環境は Win2000Pro + AnHTTPd 1.42k + ActivePerl 5.6.1 + IE6 です。
これって仕様なんでしょうか。
仮に仕様(あるいはバグ)だとすれば、どのプログラムの問題なのでしょうか。
プログラム自体は、正常に動くようにすでに修正完了したんでいいんですが、ちょっと気になったので。
何かご存知の方がいらっしゃいましたら、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> これって仕様なんでしょうか。
仕様です。
ていうかこれが正常動作(もともと意図された動作)です。
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
となります。
ありがとうございます。
なぁるほど!
機能文字としてのイコールがあるかどうかなんですね。
これは覚えておけばあとあと役立ちそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Excel(エクセル) Excel2010 VBAが特定動作で実行出来なくなる 7 2022/12/29 14:26
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlプログラム上でアラートを表示
-
CGIって何ですか?簡潔に教えて...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
ApacheでのCGIについての質問
-
CGIが実行されずにダウンロード...
-
URLに~/cgi-bin/~を隠す方法
-
XサーバーでCGIを使うには??
-
perlからphpを実行して結果を得...
-
ASPから既存のexcelブックを開...
-
NAMAZUでの文字化け
-
SFTPなどは使わないホームペー...
-
Ajax React Jqueryの位置づけと...
-
CGIのフォームをアップロードす...
-
safariでcgiが表示されず cgi...
-
Dreamweaver(ドリームウィーバ...
-
LAN内に接続されているPCをリ...
-
Linuxで拡張子は必要か
-
CGI掲示板のバーミッションにつ...
-
apacheのScriptAliasの記述につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIって何ですか?簡潔に教えて...
-
Webからアクセスし、画面のボタ...
-
ログアウト処理でWebブラウザを...
-
ホームページにCGIを設置したの...
-
同じ階層内を意味する「./」を...
-
cgiで呼び出したプログラムを数...
-
Perlプログラム上でアラートを表示
-
IISでエラー、Apachでは動くの...
-
毎日同時刻に、設定しておいた...
-
クライアントの環境変数値を得る。
-
CGIファイルへのブラウザからの...
-
空メールを送信すると、サーバ...
-
Cshellスクリプトで前の命令の...
-
http://www.***.com/***/***.cg...
-
Tomcatについて
-
IIS5.1でCGI Timeoutになる原因...
-
前回はごめんなさい。pythonでc...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
URLに~/cgi-bin/~を隠す方法
おすすめ情報