こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

手打ちしたコードがエラーになってしまう現象

こんにちは。

ActivePerlの参考書を使っています。
会社ではSolarisにApacheがあるので、普段から使用しているWindowsで
参考書のコードを手打ちで作り、それを(tera termで)viエディター上に貼り付けして、ファイルを
作成実行しているのですが、手打ちしたコードと参考書のコードでは、
同じ内容&シンタックスエラーもでないのに、ブラウザで確認しようとすると
サーバーエラー(500)が出てしまいます。

それで、参考書に添付されているサンプルコードを(内容自体はいじりません)、
上記の方法でUnix機にアップして実行すると上手く表示されます。

diffコマンドで比較してもカンマの位置とか、見やすい様にスペースを入れている、
コメントの描写が異なっているだけなのですが、どうしてこんな現象があるのでしょう??
文字コードが原因だと睨んでいるのですが、このような現象はありえますでしょうか??

以下に手打ちしたコードを載せて置きます。
(アクセスカウンターを表示)
-----------------------------------------------
#!/usr/local/bin/perl

$COUNTFILE='./count.dat';

open(FILE, "+<$COUNTFILE") or die("Err");
eval{ flock(FILE, 2); };
$cnt = <FILE>;

seek(FILE,0,0);
print FILE ++$cnt;
close(FILE);

print <<EOF;
Content-type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>あくせすかうんと</title></head>
<body>
<p>あなたは……$cnt番目の訪問者です。</p>
</body></html>
EOF

------------------------------------------------
よろしくお願いします。

投稿日時 - 2003-03-26 11:55:17

QNo.507431

困ってます

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

 Content-type: text/html の下に改行を加えてみてください。
 HTTPでは、ヘッダの終了は「2連続の改行」ですので、これではヘッダ内にHTMLが記述されていることになってしまいます。

 また、スペースなどに誤って全角文字を使用していないか、最後の行に改行がちゃんとあるか、等も確認してみてください。

投稿日時 - 2003-03-26 12:09:50

お礼

deagleさん回答ありがとうございます。

確かにその通りでした。あっという間にできました。
ヘッダのことなって全然理解してないままでしたので。。
調べ方の範囲を違った視点で見ようと思います。

投稿日時 - 2003-03-27 08:51:00

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問