アプリ版:「スタンプのみでお礼する」機能のリリースについて

perl初心者です・・
perlを本で学習してる最中なのですが、print文だとブラウザに表示されるのに、ヒアドキュメントで記述するとブラウザに表示されません。
(AN HTTPDサーバーを使用して、起動させています。)
例えば、

#!/usr/bin/perl
print "content-type: text/html\n\n";
print "<html><body>";
print "ああ";
print "<br>";
print ("いい","うう","ええ","です");
print "<br>";
print "</body></html>";

↑この記述だとブラウザに表示されますが、
#!/usr/bin/perl

print <<HTML_DOCUMENT;
content-type: text/html

<html>
<body>
ああいいううええです
</body>
</html>
HTML_DOCUMENT

↑このようにヒアドキュメントに書き換えてブラウザで表示させると、
サーバーが見つかりませんと表示されます。
ちなみに、本に添付してあるCD-ROMの回答ソースをコピペして表示させてみましたが、同様にサーバーが見つかりませんと表示されます。
ですので、文法には間違いはないと思うので、ANHTTPDサーバーに原因があるのではないかと思われるのですが、何か、ANHTTPDサーバーに設定をする必要があるのでしょうか?
教えてください。
ちなみに、環境windowsXPです。

A 回答 (3件)

一番最後の HTML_DOCUMENT の後ろに「改行」が入っていない、ということはありませんか?



ヒアドキュメントの終端文字列の後ろには改行が必要なのですが、
> CD-ROMの回答ソースをコピペして
と書いているあたりから、改行が入っておらず、そこでファイル終端(EOF)になっているのではないかと思われます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
まったくleaz024さんの言うとおりでした・・
改行だけだなんて・・なんだかショックですね。。
こんなことに気づかないとは・・。
なにはともあれありがとうございますっ!

お礼日時:2006/05/22 09:31

#!/usr/bin/perl



print <<"HTML_DOCUMENT";
Content-type: text/html

<html>
<body>
ああいいううええです
</body>
</html>
HTML_DOCUMENT

これでどうです?

HTML_DOCUMENTをダブルクォートで囲みました。
下のほうはかこまないです
    • good
    • 0
この回答へのお礼

ありがとうございます。その””クォートで囲む方法、私もしてみたんですどね、駄目でした。結局、最後に改行いれなかったのが原因だったみたいです。。ありがとうございました。

お礼日時:2006/05/22 09:33

>サーバーが見つかりません


urlのサーバー名(localhost または 127.0.0.1)の入力間違いをしているとしか思えません。
anHTTPdのドキュメントルートなどにどういう設定をして、ブラウザのurl欄には、どのような文字列をいれたのでしょうか?
    • good
    • 0
この回答へのお礼

すいません、それは何度も確認はしたんです。ドキュメントルートは、an HTTPdのエリアス??の設定では、次のように設定しました。c\:hhtpd\cgi-binです。ルートも間違ってはないと思います。

お礼日時:2006/05/22 09:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!