CGIの勉強をしています。
以下の意味を教えてください。

・&error("2222");←"2222"の意味

・&error("サーバーエラー。#101");←#101の意味

-----------------------------------
&decode;
if($orden eq 'enviar' || $preview == '0'){ &enviar; }
&previsto;
&error("2222");
sub decode{

if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else{ &error("サーバーエラー。#101"); }

このQ&Aに関連する最新のQ&A

A 回答 (5件)

これは開発時デバッグ用のトラップだと思います。


ざっと見た感じ実際には実行されないと思います。
全体としてはメールフォームのCGIですね。
メソッドで受信したデータの中で「enviar(スペイン語で送信の意)」が有れば内容を成型して送信。
そうでないなら「previsto(これもスペイン語で事前表示[直訳]なので確認の意)」。ここでprevistoの内部ではreturnも無くexitで締めくくられていますので(enviarも同じく)これ以降には処理が移りません。
だいたい変数名とか関数名がその役割を表すように作る場合が多いのですが、ほとんどスペイン語で書かれているので一般の方には何じゃこりゃ状態かと思います。
他の単語は
atencion:注目
cabeza:ヘッダ(頭)
inicio:初期
contenido:内容(コンテンツ)
こんなとこでしょうか。
なぜかdecodeは英語ですね・・・スペイン語だとさしずめdecodificarでしょうか。
    • good
    • 0

No1です。

ほかの回答者の通り、その文字列自体にプログラム的な意味はないです。ここで指定された「2222」とか「サーバーエラー。#101」という文字列が、errorサブルーチンの中の

print "<font color=#ff0000>$atencion</font><p>";

の$atencionに置き換えられるだけです。
要はデバッグ用につけた文字で、「あ、#101てことはあそこがエラーだな」とわかりやすくしてるだけではないかと。
    • good
    • 0
この回答へのお礼

皆様、教えていただき、どうもありがとうございます。
そうですか、無意味なんですか…
これを作った人の意図が分からないですね。
スペインに住んでいるそうなのでスペイン語が含まれておりました。鋭いです。

お礼日時:2009/05/14 21:43

本当にたびたびで申し訳ありません。


"#101"については「サーバエラー」がたくさん有ったら、どこの処理でエラーになったかわからないので番号を振っているんだと思います。
番号の命名規則は作った方に聞いてみないとわかりません。100番台は入出力900番台はメール書式関連とか、ステップの行番号にしたりとかいろいろ自分で考えてエラー時にどの部分でエラーが発生したのかを目視する為だけだと思います。
    • good
    • 0

多重回答すいません。


"2222"の意味について書き忘れてました。
単純に動作確認の文字列だと思いますので意味は何も無いと思います。
    • good
    • 0

ここだけ切りだされても・・・


errorサブルーチンを見れば何かヒントがあるのではないでしょうか?

この回答への補足

返答をありがとうございます。
errorのサブルーチンを見ても、それらしきなものが見当たりませんでした。
サイトにアップしておきましたので教えてくださればありがたいです。
http://hotpegasus.bov.jp/cgi.txt

補足日時:2009/05/14 16:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング