CGI-BBS > CGI > Perl > フォームメールのエラーがわかりません


カレッヂ
カレッヂ


質問者 ヒラビン  投稿日 11/14(水) 09:36:52
初歩的な質問ですが、私の作っているお問い合わせ画面用のフォームメールが動きません。
現象は、telnetで./mail.cgiと実行すると
In string, @: now must be written as \@: at ./mail.cgi line 225, near "返済方法:
"
Execution of ./mail.cgi aborted due to compilation errors.  
というコンパイル?エラーになってしまいます。
その付近をよく見てもどこがダメなのかわかりません。
CGIテキストは以下のアドレスですので、どなたか見てください。
http://www.tcsweb.co.jp/customer/mail.txt
回答者 しあわせのツボ  [削除]  投稿日 11/14(水) 11:53:27
SJIS設置ですよね。
エラーメッセージを文面通り訳すと「@は\@と書いてくれなきゃダメだよ」です。
でないとperlが配列変数を探しにいってしまいます。
@などという文字は使っていないように見えますが、「法」の字の後半バイトが@にあたっています。
日本語の部分は'シングルクォート'で括るようにして下さい。
質問者 ヒラビン  [削除]  投稿日 11/14(水) 13:05:56
早速のご回答ありがとうございます。
その後、例の部分を
                &jis('返済方法:'); print MAIL "$msg";
                &jis("$HENSAI2"); print MAIL "$msg\n";
という風に修正しましたら、動きました。よかったです。
お世話になりました。ありがとうございます。

このページは終了したので返信(回答)は書きこめません

Web裏技