下記のエラーの意味が分かられる方、大変お手数ですが内容をご教示いただけますでしょうか。
何卒よろしくお願い致します。
-----
Possible unintended interpolation of @form in string at ./poll.cgi line 108.
Unrecognized character ¥x83 at ./poll.cgi line 222.
-----
-----
Can’t find string terminator ”`” anywhere before EOF at ./poll.cgi line 494.
-----
-----
Unrecognized character ¥x83 at ./poll.cgi line 621.
-----
http://www.kent-web.com/utility/index.html
:: KENT WEB > ユーティリティ ::
poll.cgiの108行、494行、621行目にエラーがあるのではないでしょうか?
URLのPerlCheckerで確かめると確実です
http://www.futomi.com/lecture/apache/syntaxerror.html
WindowsでApacheサーバを立てよう - 良くあるエラーと対処方法 - futomi's CGI Cafe
クォートが片側しか入っていない箇所があるのではないでしょうか。
指定された行を確認してみてください。
参考URLありがとうございました。
http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
Shift-JISテキストを正しく扱う
108行目は警告です。他のエラーが解決できれば動作するようになるかも。
222行目と621行目、文字列のはじめの引用符(ダブルクオート)が抜けているのではないでしょうか?
494行目付近、片方(はじまり)だけの`がありませんか?
ありがとうございます。やはり細かなミスがあるようですね。
http://www.hatena.ne.jp/1086016969
フォルダ内のファイルの文字コードと改行コードを一括でEUCとLFにする方法を教えてください。windows環境が好ましいです。なぜかcygwinにはnkfが入っていません・・・.. - 人力検索はてな
間違ってたらすいません。
文字コード、改行コードの問題の可能性が
あるとおもいます。
CGIを動かしているOSの文字コードにあわせていますか?
文字コード確認してみます。
GNUの gcc/g++ は、日本語シフトJISコードに完全に対応していません。そのために、Windows 95/98 などのシフトJISコード・ベースの環境では、特定の文字で問題を起こします。ここでは、その対処法を示します。
日本語の文字コードは2バイトで表されますが、問題を起こすのはその2バイト目が「円記号」’¥’ (5C)になる文字です。
との事です。投票する項目の最後が以下に挙げるような文字で終わっていたら、表現方法を考え直してください。
’ソ’(x835c) → ’¥x83¥¥’
’欺’(x8b5c) → ’¥x8b¥¥’
’圭’(x8c5c) → ’¥x8c¥¥’
’構’(x8d5c) → ’¥x8d¥¥’
’蚕’(x8e5c) → ’¥x8e¥¥’
’十’(x8f5c) → ’¥x8f¥¥’
’申’(x905c) → ’¥x90¥¥’
’貼’(x935c) → ’¥x93¥¥’
’能’(x945c) → ’¥x94¥¥’
’表’(x955c) → ’¥x95¥¥’
’暴’(x965c) → ’¥x96¥¥’
’予’(x975c) → ’¥x97¥¥’
’禄’(x985c) → ’¥x98¥¥’
ありがとうございます。おそらく漢字は使っていないと思うのですが、確認させていただきます。
恐らくPERLでのcgiを使用されていると思いますが、下記のURLのHPの4番目です。
デバッグのポイントは
【コツ1】 1行前もチェックすること。
【コツ2】 上から順に解決すること。
ですね。
ありがとうございます。URLをお忘れのようですね。おそらく2番目の方が紹介してくださったものと同じでしょうか?
> Possible unintended interpolation of @form in string at ./poll.cgi line 108.
108行目の「@form」が配列と解釈されます。「@」を「¥@」とすれば解決できるかもしれません。
> Unrecognized character ¥x83 at ./poll.cgi line 222.
> Unrecognized character ¥x83 at ./poll.cgi line 621.
「¥x83」認識できない文字列です。
222行目と621行目でダブルクォート「”」が抜けている可能性があります。文字コードの問題かもしれません。
> Can’t find string terminator ”`” anywhere before EOF at ./poll.cgi line 494.
494行目でEOFの前にバッククォート「`」が抜けています。多分、最後に「`」が抜けているのだと思う。
詳しい解説ありがとうございます。勉強になります。
ありがとうございます。参考にさせていただきます。