![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Perlでの掲示板作成をしていましたが、エラーを解決出来なくアドバイスいただきたいです。
perl -c bbs.shでコンパイルエラーを確認しましたが、最後のヒアドキュメントの部分でエラーが出ています。ブラウザでページは表示できない状態です。
#!/usr/bin/perl
$bbsfile="./bbs.dat";
&formdec;
if($in{'mode'} eq "regist") {
&bbspost;
};
&bbsdsp;
sub header {
print "Content-type: text/html\n\n";
print <<"EOM";
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>掲示板</title>
</head>
<body>
EOM
};
sub bbsdsp {
print "Content-type: text/html\n\n";
print <<"EOM";
<form action="./bbs.sh" method="POST">
<input type="hidden" name="mode" value="regist">
お名前<br>
<input type="text" name="name" value="" size="40"><br><br>
コメント<br>
<textarea name="comment" cols="50" rows="7"></textarea><br>
<input type="comment" value="投稿する">
</form>
<dl>
EOM
open (IN,"$bbsfile");
while(<IN>){
my($no, $date, $name, $comment)=split(/&&/);
print "<dt><hr>[$no] 投稿者:<b>$name</b>   投稿日時:<b>$date/b></dt><br><br>\n";
print "<dd>$comment</dd>\n";
}
close(IN);
print <<"EOM";
<dt><hr></dt>
</dl>
</body>
</html>
EOM
exit;
};
sub formdec {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
} else {
$buf=$ENV{'QUERY_STRING'};
}
under(%in);
my @buf=split(/&/,$buf);
foreach (@buf) {
my ($key, $val)= split(/=/);
$val=~tr/+/ /;
$val=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;
$val=~s/&/&/g;
$val=~s/"/"/g;
$val=~s/</</g;
$val=~s/>/>/g;
$val=~s/\r\n/<br>/g;
$val=~s/\r/<br>/g;
$val=~s/\n/<br>/g;
$in{$key}=$val;
};
};
sub bbspost{
if ($in{'name'} eq "" || $in{'comment'} eq ""){
sub header;
print "入力内容に不備があります。 <br>\n";
print "ブラウザのBACKで戻ってください。 \n";
print "</body></html>\n";
exit;
}
$ENV{'TZ'}="JST-9";
my($sec, $min, $hour, $mday, $mon, $year, $yday, $isdst)=localtime(time);
my $now=sprintf("%04d/%02d/%02d-%02d:%02d",$year+1900,$mon+1, $mday, $hour, $min);
open(DAT, "+< $bbsfile");
flock(DAT,2);
my $no=1;
while (<DAT>) {
$no++;
}
print DAT "$no&&$now&&$in{'name'}&&$in{'comment'}\n;
close(DAT);
sub header;
print <<"EOM";
ありがとうございます。投稿を受理しました。
<form action="./bbs.sh">
<input type="submit" value="掲示板に戻る">
</form>
</body>
</html>
EOM
exit;
};
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんばんは。
perlは詳しくありませんが、気になるところがありました。
--------------------------------------------------------------------------------
print DAT "$no&&$now&&$in{'name'}&&$in{'comment'}\n;
close(DAT);
--------------------------------------------------------------------------------
このprintに " が1つしかありません。
これかな?
No.2
- 回答日時:
そのメッセージを見ると
Might be a runway mlti-line string...
って出てるよね. そこから考えると
文字列がなんかおかしい
という可能性が見えるよ.
あと } のあとに ; があったりなかったりするのがかなり謎.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アルファベットに付いて質問し...
-
bashスクリプト
-
Perlのプログラムについて
-
perlをバージョンアップしたら...
-
Wコロン
-
プログラミングでポインタの勉...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
perlをバージョンアップしたら...
-
openした後、closeしないでプロ...
-
アルファベットに付いて質問し...
-
Strawberry Perl for Windows ...
-
bashスクリプト
-
Perlのエラーについてご教授く...
-
Perlで特定文字列から特定文字...
-
画像が表示でnull; this.src
-
Wallpaper Engineでおすすめの...
-
Perl言語について。
-
perl LWPでURLにアクセスした時...
-
Perlで時間の計算
-
Perlで、「が」を、「...
-
ファイルアイコンの左下に緑の□...
-
Perl の外部モジュールの利用方法
-
このファイルを開く方法で困っ...
-
perlで2次元配列をサブルーチ...
-
Windows10においての『Perl』の...
おすすめ情報
ご回答ありがとうございます。最後の部分でエラーが出ているようですが、下記の部分になります。
print <<"EOM";
ありがとうございます。投稿を受理しました。
<form action="./bbs.sh">
<input type="submit" value="掲示板に戻る">
</form>
</body>
</html>
EOM