• ベストアンサー

EODの使用方法

ゼミでperlの勉強をしているものです。それで今回プログラムを作ることになったのですが syntax error at ./speak.cgi line 5, near "print" というエラーがでて実行することができません。 5行目はEOCを利用したプログラムが書かれたところなのでたぶん、EOCの使い方に問題があると思いいろいろ調べましたが解決できませんでした。プログラムの一部を掲載します。 #!/usr/bin/perl require 'cgi-lib.pl'; &ReadParse print <<"EOD1"; Content-type:text/html <html><head></head><body> <h2>My BBS</h2> <form method="post" action="speak.cgi"> <b>新規発言</b><br> <table> <tr><td>タイトル</td><td><input type="text" size=40 name="title"></td></tr> <tr><td>E-mali</td><td><input type="text" size=40 name="email"></td></tr> <tr><td>内 容</td><td><textarea cols=40 rows=3 name="cont"></textarea><br></td></tr> <tr><td></td><td><input type="submit" value="発言する"> <input type="buttone" value="最新表示" onclick="javaScript:location.href='speak.cgi'"><td></tr> </table> </form> EOD1 このエラーを消す方法を教えて下さい。お願いします。 ちなみに掲載のプログラムは掲示板のフォームです。

  • Perl
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • Terari
  • ベストアンサー率37% (21/56)
回答No.2

Content-type: text/htmlの下に改行がないからかな。 改行つけて実行してみたら表示されました。 Content-type: text/html <html> ・・・・・・・・・・・

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

パッと見ですが、 > &ReadParse ここに文末を示すセミコロンが無いからでは。

関連するQ&A

  • PHPでのメールフォームにつてい。下記のソースで送信・受信できますか?

    それから、何処に、送信先のアドレスを入れればいいでしょうか?? <html lang="ja"> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>mail</title> </head> <body> <br> <h3>Mail Form</h3> <!-- error --> <?PHPif ($error) { echo $error; }else{?><!-- form --> <form enctype="multipart/form-data" action="<?PHP echo EXE; ?>" method="post"> <table> <tr> <td>題名</td> <td><input type="text" name="subj" size="34" value="題名"></td> </tr> <tr> <td>アドレス</td> <td><input type="text" name="mail" size="34" value="あなたのアドレス"></td> </tr> <tr> <td>名前</td> <td><input type="text" name="name" size="34" value="ここに名前"</td> </tr> <tr> <td>内容</td> <td> <textarea name="???" cols="50" rows="10" wrap="soft"> ここに内容</textarea> </td> </tr> <tr> <td> File </td><td><input type="file" name="file" size="28"> <input type="submit" value="送信"> </td></tr> </table> <br> </body></html>

    • ベストアンサー
    • PHP
  • メールフォームについて

    この中にどのようなHTMLを書けば自分のPCにメールが届く ようになりますか?よろしくお願いします。 <h2>■MAIL FORM</h2> <div class="text"> <form><table><tr><td width="100" align=right> NAME</td><td align=right><input type="text" name="Name" size="34"></td></tr><tr><td width="100" align=right> MAIL</td><td align=right><input type="text" name="Mail" size="34"></td></tr></table> <TEXTAREA NAME="Comments" ROWS="8" COLS="39" value="comments"></TEXTAREA> <br> <table><tr><td width="100" align=right> </td> </tr><tr> <td width="100" align=right> URL</td><td><input type="text" name="URL" value="http://" size="34"></td></tr><tr><td></td><td align="right"> <INPUT TYPE="reset" VALUE=" Reset "> <INPUT TYPE="submit" VALUE=" Send "></FORM> </td></tr></table><br></div>

    • ベストアンサー
    • HTML
  • ボタンクリックでフォーカス移動

    JavaScript超ビギナーなので方法がよくわかりません。 フォームにテキストボックス(配列)4個あり ボタンを押すたびに未記入のテキストボックスにカーソルを移動したいのですが。どのようにしたらいいでしょうか。 <form name="form1" method="post"> <table width="200" border="1"> <tr><td ><input type="submit" name="Submit" value="送信"></td></tr> <tr><td ><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> </table> </form>

  • 初歩的な質問です、長文ですいませんが困っております。

    初めてHP製作で掲示板を作りたいと思い、本(Perl/CGI辞典)を読みながら悪戦苦闘中です。まずは本のスレッド掲示板を作たのですが、なぜか出力されません。PERLのチェックはHPでやって異常ありませんでしたが、なぜか「500Internal Server Error」になってしまいます。まずは出力部分と思い抜粋して見たのですが、これまた出力されません。以下にその部分を貼り付けますので、どなたかお教え願えないでしょうか? #!C:\perl\bin\perl -w print<<HTML_EOF; Content-type:text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML LANG="ja"> <HEAD><TITLE>$bbstitle</TITLE> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY BGCOLOR="${bgcolor}"> <BR> <B>$bbstitle</B><BR> <FORM ACTION="${cginame}" METHOD=POST> <TABLE WIDTH='90%'> <TR> <TD WIDTH=30>名前</TD> <TD><INPUT TYPE="TEXT" NAME="name" SIZE=30 VALUE="$name"></TD> </TR> <TR> <TD>Mail:</TD> <TD><INPUT TYPE="TEXT" NAME="mail" SIZE=30 VALUE="$mail"></TD> </TR> <TR> <TD>URL:</TD> <TD><INPUT TYPE="TEXT" NAME="url" SIZE=60 VALUE="$url"></TD> </TR> <TR> <TD>TITLE:</TD> <TD><INPUT TYPE="TEXT" NAME="title" SIZE=60></TD> </TR> <TR> <TD></TD> <TD><TEXTAREA NAME="comm" COLS=60 ROWS=6></TEXTAREA></TD> </TR> </TABLE> <INPUT TYPE="SUBMIT" VALUE="投稿"> <INPUT TYPE="RESET" VALUE="クリア"></FORM> <BR> </BODY> </HTML> HTML_EOF

    • ベストアンサー
    • CGI
  • ラジオボタン選択でtextfieldをアクティブにするには?

    ■下記サンプルソースのラジオボタン「はい」を選択するとtextfieldがアクティブになるJavaScriptがわからず困っております。教えて頂けないでしょうか。 (ページ開いた際は「いいえ checked」でtextfieldはグレーで入力無効) 可能であればシンプルなソースで「最新のWinIE、MacSafari」に対応していると非常に助かります。先輩方よろしくお願いします。 <form name="form1" method="post" action=""> <table> <tr> <td>■「はい」を選択すると、textfield(カテゴリー1~4)がアクティブになる</td> </tr> <tr> <td> <input name="radiobutton" type="radio" value="radiobutton">はい  <input name="radiobutton" type="radio" value="radiobutton" checked>いいえ </td> </tr> <tr> <td> カテゴリー1<input name="textfield" type="text" size="30" maxlength="30"> <br> カテゴリー2 <input name="textfield22" type="text" size="30" maxlength="30"> <br> カテゴリー3 <input name="textfield32" type="text" size="30" maxlength="30"> <br> カテゴリー4 <input name="textfield42" type="text" size="30" maxlength="30"> </td> </tr> </table> </form>

  • ジャバスクリプト

       ご質問させていただきます。 私は、下記のプログラムをHTMLソースの中に組み込みました。 <HTML> <HEAD> <META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=shift_jis"> <center> </HEAD> <BODY TEXT="#000000" BACKGROUND="background.jpg"> <FORM NAME="Form1" ACTION="mailto:3d1724@jcom.home.ne.jp/" METHOD="post" ENCTYPE="text/plain" onSubmit="location.href='thankyou.htm'"> <TABLE> <TR> <TD>貴サイトの内容説明</TD> <TD><INPUT TYPE="text" SIZE="90" ID="customer" NAME="customer"></TD> </TR> <TR> <TD>メッセージ</TD> <TD><TEXTAREA NAME="body" ROWS="7" COLS="70"></TEXTAREA> </TD> </TR> </TABLE> <BR><INPUT CLASS="submit" TYPE="submit" VALUE=" 送信 "> <INPUT TYPE="reset" VALUE=" クリア "></FORM> </BODY> </HTML>  このプログラムを利用して、  送信ボタンをクリックした時にフォームが送られたことを示すページを表示させたいのです。ですが、この状態では表示されません。 表示方法を教えていただけないでしょうか。初心者ですので(難しくない説明を)お願いできればと思います。よろしく、お願いします。

  • 再度読み込みは出来ないのでしょうか?

    各テキストボックスに値を入れて、 C11 = a11 * b11 + a12 * b21 + a13 * b31、 c12 = a11 * b12 + a12 * b22 + a13 * b32、 : : c21 = a21 * b11 + a22 * b21 + a23 * b31 c22 = a21 * b12 + a22 * b22 + a23 * b32・・・ としたいのですが、うまくロジックが思いつきません。 単純に式をずらずら書いたのですが、c12以降の欄がすべてゼロになってしまいます。 いい方法を教えてください。お願いします。 <head> <script> function kei(){ var form_a=document.getElementById('A'); var form_b=document.getElementById('B'); var form_c=document.getElementById('C'); var keic11 = 0; var keic12 = 0; : : keic11=parseInt(form_a.a11.value) * parseInt(form_b.b11.value) * parseInt(form_a.a12.value) * parseInt(form_b.b21.value) + parseInt(form_a.a13.value) * parseInt(form_b.b31.value); form_c.c11.value = keic11; keic12=parseInt(form_a.a11.value) * parseInt(form_b.b12.value) + parseInt(form_a.a12.value) * parseInt(form_b.b22.value) + parseInt(form_a.a13.value) * parseInt(form_b.b32.value); form_c.c12.value = keic12;     :     : } </script> </head> <body> <table border = 1> <form id = "A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form id = "B"> <tr> <td> <input type = "text" size = 5 name = "b11"></input> </td> <td> <input type = "text" size = 5 name = "b12"></input> </td> <td> <input type = "text" size = 5 name = "b13"></input> </td> <td> <input type = "text" size = 5 name = "b14"></input> </td> <td> <input type = "text" size = 5 name = "b15"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> <td> <input type = "text" size = 5 name = "b24"></input> </td> <td> <input type = "text" size = 5 name = "b25"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> <td> <input type = "text" size = 5 name = "b34"></input> </td> <td> <input type = "text" size = 5 name = "b35"></input> </td> </tr> </form> </table> 答え <table border = 1> <form id = "C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> <td> <input type = "text" size = 5 name = "c14"></input> </td> <td> <input type = "text" size = 5 name = "c15"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> <td> <input type = "text" size = 5 name = "c24"></input> </td> <td> <input type = "text" size = 5 name = "c25"></input> </td> </tr> </form> </table> </body>

  • メールフォームで必須項目の仕方

    メールフォームで必須項目を入力しないと送信できないようにするにはどうすればいいでしょうか? 現在は以下のとおりに書いてありますが、必須項目に書いてなくても送信できてしまいます。 <form method="post" action="CGI"> <h3>お問い合わせフォーム</h3> <p>*は必須項目です。</p> <table> <tbody> <tr> <th>お問い合わせ内容*</th> <td><textarea name="お問い合わせ内容" class="l" cols="40" rows="12"></textarea></td> </tr> <tr> <th>お名前(漢字)*</th> <td><input type="text" name="お名前(漢字)" class="m"></td> </tr> <tr> <th>お名前(フリガナ)*</th> <td><input type="text" name="お名前(フリガナ)" class="m"></td> </tr> <tr> <th>E-Mail*</th> <td><input type="text" name="E-mail" class="l"></td> </tr> <tr> <th>電話番号(半角)*</th> <td><input type="text" name="電話番号" class="l"></td> </tr> </tbody> </table> <input type="submit" value="  送信  " class="button"></form> また必須項目が未入力のときにエラーメッセージ(「お名前が未入力です。」など)を出したいのですがどのようにすればいいですか?

    • ベストアンサー
    • CGI
  • JSPで個人データを入力、出力

    <html> <head><title>Costomer</head></title> <body bgcolor="white"> <div align="center"> <%@ include file="header.html"%> <form method="POST"action="customer.jsp"> <TABLE> <TR> <TD>Name</TD> <TD><input type="text" name="name"></TD> </TR><br> <TR> <TD>Mail Address</TD> <TD><input type="text" name="mail address"></TD> </TR><br> <TR> <TD>TEL No</TD> <TD><input type="text" name="tel no"></TD> </TR><br> </TABLE> <br> <input type="submit"value="Submit"> <input type="reset"value="Cancel"> </form> <jsp:include page="post-response.jsp" flush ="true" /> <%@ include file="copyright.html"%> </div> </body> </html> …………………………………………………………………………………… <html> <head><title>Post-Response</head></title> <body bgcolor="white"> <div align="center"> <TABLE BORDER="1"> <TR> <TD>Name</TD> <TD></TD> </TR><br> <TR> <TD>Mail Address</TD> <TD></TD> </TR><br> <TR> <TD>TEL No</TD> <TD></TD> </TR><br> </TABLE> <form method="GET"action="customer.jsp"> <input type="reset"value="Clear"> <br> </form> </div> </body> </html> …………………………………………………………………………………… 上のcustomer.jspにName,Mail Adress,Tel no,を入力し、打ち込んだものを下のpost-response.jspに出力したいのですがどのように出力したらよいのかわかりません!何度やってもエラーが出てしまいます。 教えてください!!お願いします! ・上のcustomer.jsp内の<%@ include file="header.html"%>と<%@ include file="copyright.html"%>無視してください!

  • 複数のテーブルをFIELDSETで・・

    <fieldset> <legend>住所・氏名を記入して下さい。</legend> <table border="1"> <tr> <th colspan=4>お申し込み者</th> </tr> <tr> <td>郵便番号</td> <td colspan=3><input type="text" name="郵便番号" size="10"></td> </tr> <tr> <td>ご住所</td> <td colspan=3><input type="text" name="住所" size="60"></td> </tr> <tr> <td>ふりがな<br> お名前</td> <td><input type="text" name="ふりがな" size="20"><br> <input type="text" name="氏名" size="20"> <td>電話番号</td> <td><input type="text" name="電話番号" size="16"></td> </tr> </table> <br><br> <table border="1"> <tr align="center"> <td colspan=4><b>お届け先</b>(お申し込み者と異なる場合のみご記入ください)</td> </tr> <tr> <td>郵便番号</td> <td colspan=3><input type="text" name="届け先郵便番号" size="10"></td> </tr> <tr> <td>ご住所</td> <td colspan=3><input type="text" name="届け先住所" size="60"></td> </tr> <tr> <td>ふりがな<br> お名前</td> <td><input type="text" name="届け先ふりがな" size="20"><br> <input type="text" name="届け先氏名" size="20"> <td>電話番号</td> <td><input type="text" name="届け先電話番号" size="16"></td> </tr> </table> </fieldset> 上のように縦に並んだ二つのテーブルをFIELDSETを使って囲んで、LEGENDで表題をつけようと思ったのですがうまくいきません。 どこがおかしいのでしょうか?初心者で参考書片手に作っているので、変なことを聞いていたらごめんなさい。

    • ベストアンサー
    • HTML

専門家に質問してみよう