• ベストアンサー

意味を教えてください(CGI)

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"); }

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

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

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

すると、全ての回答が全文表示されます。

その他の回答 (4)

回答No.5

No1です。ほかの回答者の通り、その文字列自体にプログラム的な意味はないです。ここで指定された「2222」とか「サーバーエラー。#101」という文字列が、errorサブルーチンの中の print "<font color=#ff0000>$atencion</font><p>"; の$atencionに置き換えられるだけです。 要はデバッグ用につけた文字で、「あ、#101てことはあそこがエラーだな」とわかりやすくしてるだけではないかと。

nkmyr
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.4

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

すると、全ての回答が全文表示されます。
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.3

多重回答すいません。 "2222"の意味について書き忘れてました。 単純に動作確認の文字列だと思いますので意味は何も無いと思います。

すると、全ての回答が全文表示されます。
回答No.1

ここだけ切りだされても・・・ errorサブルーチンを見れば何かヒントがあるのではないでしょうか?

nkmyr
質問者

補足

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

すると、全ての回答が全文表示されます。

関連するQ&A