• 締切済み

このサブルーチン間違っておりませんか?

以下のサブルーチンを記述したらエラーになります。 どこか間違っておるのでしょうか? 宜しくお願いします。 #------------------------------------------------- sub head { print <<"EOM"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>メールフォーム</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> EOM } #-------------------------------------------------

  • nkmyr
  • お礼率67% (403/600)
  • Perl
  • 回答数2
  • ありがとう数0

みんなの回答

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.2

考えられるエラーの原因は次の2点ですね。 (1) EOM の前にスペースがある (2) サブルーチンの呼び出し方が間違っている   head(); それと、ヒアドキメントを使うなら、Content-type: text/html\n もその中に入れれば良いのでは、、、 print <<"EOM"; Content-type: text/html\n <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

これをブラウザで表示したいのでしょうか? でしたら最初に print "Content-type: text/html\n\n"; が必要ですが、他のルーチンで入っていますか? それであれば問題ないように見えますが、どんなエラーが出るのでしょうか?

nkmyr
質問者

補足

返答をありがとうございます。 「print "Content-type: text/html\n\n";」を付け忘れました。 変更前は以下です。 $html_head = '<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> </head> <body bccolor=#fafafa color=#222222> '; # ← この行は消さない #------------------------------------------------- ssub head { print "Content-type: text/html\n\n"; print "$html_head"; } #------------------------------------------------- これを下記に変更しました。 sub head { print "Content-type: text/html\n\n"; print <<"EOM"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "?http://www.w3.org/TR/html4/loose.dtd">? <html> <head> <title>メールフォーム</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> EOM } 結果「500エラー」が出ます。 一行ずつprintにすればいいと思うかもしれませんが、それも分からないんです… すみませんが、宜しくお願いします。

関連するQ&A

  • 上記コードをどう直したら良いでしょうか?

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <valuecommerce ptnOid="2476300" url="http://saru32.blog50.fc2.com/" /> <head> <title>バリューコマース</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> 上記コードはバリューコマースの広告タグ例とありました。そこでこれをそのまま私のブログに貼り付けました。そうしたら "http://www.w3.org/TR/html4/loose.dtd">   この様な コードのみ表示されました。しかもタグではない様です。 明らかに間違いと判りますが上記コードを どう直したら良いでしょうか?      ↑ ↑ ↑        質問

  • ドコモの背景について

    ドコモの公式サイトを見たら背景が三つにわかれていたりしているのですがあれは一体どうやったらできるのでしょうか?? 無料のHP作成で使えるタグなのでしょうか? またそのタグを是非教えてほしいです。 調べてもよくわからなかったので・・・。 ちなみに <?xml version=”1.0” encoding=”Shift_JIS”?> <!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd”> <html lang=”ja”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”> <title>test</title> </head> <body> <div style=”background-color:red”> </div> <div style=”background-color:blue”> </div> <div style=”background-color:green”> </div> </body> </html> というのをそのまま試しに貼り付けてみてもできませんでした・・・・。 ?xml version=”1.0” encoding=”Shift_JIS”?> <!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd”> <html lang=”ja”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”> の部分の事がわからないのが原因かと…。 誰か心優しい方教えて下さい・・・。

    • ベストアンサー
    • HTML
  • cssでリンク、文字の設定をしたい。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title></title> </head> 設定指定項目は、リンクの文字の色、リンク済みの色、リンクの下線を消す。 文字は、このページ全体の文字を白にして背景色を黒にしたいです。 これを<head>から</head>の間に設定したいと思います。 どなたかアドバイスお願いします。

    • ベストアンサー
    • HTML
  • SEO対策として検索しやすくしたいために キーワード を入れて置きたい

    SEO対策として検索しやすくしたいために キーワード を入れて置きたいのですが metaとtitleのどの部分に入れれば良いのでしょうか? 初心者なので教えてくださいませんでしょうか? よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>無題ドキュメント</title> </head>

  • FrontPage 2000で編集すると</HTML>消えてしまう?

    確認が便利なため、FrontPage 2000のHTMLタグ編集画面を使っているのですが、最後の</HTML>が消えてしまうのです。 ページオプションのタグの設定では、htmlは『終了タグを表示しない』にはチェックは入っていません。 htmlの書きはじめを下記のようにしてあるためでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.***"> <THML lang="ja"> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> 原因や対処方法などがありましたら教えて下さい。 よろしくお願い致します。

  • 「 <!--#exec cgi="***.cgi" --> 」が表示されません

    「main.cgi」というファイルを作り、単純にHTMLを表示するだけのCGIファイルを作成しました。 こんな感じ ------------main.cgi------------ #!/usr/local/bin/perl print "Content-type:text/html\n\n"; print <<EOM; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <略> </body> </html> EOM __END__ -------------------------------- それで、ほかのHTMLファイルに <!--#exec cgi="main.cgi" --> と入力してそのページを見てみると、 [an error occurred while processing this directive] 上の文章が表示されていました。 どうすれば「main.cgi」の内容を表示することができるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • PHP、どうして認識しないのですか?

    現在の私のサイト(shtml)のソースは次のとおりです(甲)。これを下記(乙)のように書き換えてアップしましたが”こんにちは”の文字が現れません。 レンタルサーバーの問題ですか?ソースの問題ですか? (甲) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja"> <HEAD> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > <META http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW"> <TITLE>○○○</TITLE> (乙) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>○○○</title> </head> <body> <!--shtmlのソースの中に次を挿入しました--> <p> <?php echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; ?> </p> ----------------------- これが表示されません。 教えて下さい。どうしてですか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • XHTMLのソースで文字ばけします

    とあるHTMLの本に書いてあるとうりソースをうっていくと <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtyd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>もりのみや<title/> などのWeb上で文字入力をすると文字化けします。 どうしてでしょうか? インターネットエクスプローラーを使っています。

  • XHTML のタイトルが表示されません ご教授おね

    タイトル通りなのですがHTML のタイトルが上手く表示されず、本文の中に入ってしまっています。(cf,添付画像)   一番最初の所で躓いてしまいました、解説書の通り何度もやり直したのですが、原因が分からないのです・・・かなり初歩的なこととは思われますがよろしくお願いいたします! ソースは以下のとおりです。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <titile>a</title> <style type="text/css"> </style> </head> <body> </body> </html> *ちなみにサンプルでは以下のとおりになっています。(サンプルをインストールすればしっかりと表示されるのです、同じなはずなのに僕が入力しますと上手くいきません) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>a</title> <style type="text/css"> </style> </head> <body> </body> </html>

    • ベストアンサー
    • CSS
  • 横スクロールについて教えてください

    以下のようにごくごく普通にタグを使ってページを作っています。フレームのページのナビゲーションバーが左、右にこのページが出てくるようにしているのですが、なぜかこのメインページに横スクロールが出てきてしまいます。テーブルを使っているのでもなく、とても単純なページにも関わらずなぜなのか不思議でしょうがありません。 原因として考えられるのはどういうことでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>○○○○</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> 文をずらずら・・・ </body> </html>

専門家に質問してみよう