![](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で質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
bashスクリプト
-
perlのrequireの動き方について...
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlの構文でカンマの意味が分...
-
perlについての質問
-
perlのプログラミング 部分入れ...
-
ペプシコーラとコカ・コーラとD...
-
perlをバージョンアップしたら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプロ...
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
Perlで特定文字列から特定文字...
-
perlをバージョンアップしたら...
-
Wallpaper Engineでおすすめの...
-
arduino の割り込み処理について
-
アルファベットに付いて質問し...
-
Strawberry Perl for Windows ...
-
Perlで時間の計算
-
このファイルを開く方法で困っ...
-
TeraPadエディターの操作方法に...
-
cgiでサーバーにファイルを追加...
-
フローチャート 九九
-
LinuxにおいてのPerlのプログラ...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授く...
-
こんにちは ブラケッツでプログ...
-
bashスクリプト
-
perlプログラミング 空白行削除
おすすめ情報
ご回答ありがとうございます。最後の部分でエラーが出ているようですが、下記の部分になります。
print <<"EOM";
ありがとうございます。投稿を受理しました。
<form action="./bbs.sh">
<input type="submit" value="掲示板に戻る">
</form>
</body>
</html>
EOM