200X/00/06
新しいカキコを上に表示していくために考えたのが・・・
カキコ内容を下記のように処理
データファイル1に送信内容を上書き出力

データ2ファイルを開けてそのなかでデータファイル1とログファイルを開いて上書き出力

その後ログファイルにデータファイル2を上書き出力

データファイル2をフォームの有るhtmlに返してやる。
まぁこれでも掲示板らしくなったので、まぁ良いかって感じです。
送るがわのフォームHTMLの作成、名前の記入欄も付け加え(⌒^⌒)b?
このような感じのhtmlファイルを書く。

<HTML>
<HEAD><TITLE>TESTBBS</TITLE></HEAD>
<BODY>
<FORM METHOD="POST" ACTION="cgi-bin/****.cgi">
name<INPUT NAME="name"><P>
message<TEXTAREA NAME="memo" ROWS="4" COLS="60">
</TEXTAREA><P>
<INPUT TYPE="submit" VALUE="submit">
<INPUT TYPE="reset" VALUE="reset">
<HR>
</form></html>

《これを表示させるとこんな感じ→ 「dbbbs3.html」
続いてCGIのファイル
環境変数の文字列置き換えに<BR>を追加
あと<と>の置き換えも追加したけど、htmlでは表現できないんです?・・と思う。
書きこみ欄をテーブルで返すように変更
データファイル1の部分
データファイル2の部分
ログファイル3の部分

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";

read(STDIN, $naka, $ENV{"CONTENT_LENGTH"});

@nakami = split('&', $naka);

foreach(@nakami) {
($hidari, $migi) = split("=");
$migi =~ tr/+/ /;
$migi =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
$migi =~ s/\r?\n/<BR>/g;
ここに文字列変換がまだ入るんですがタグが書けません(*^^*ゞ
$kaku{$hidari} = $migi;
}

$name = $kaku{'name'};
$memo = $kaku{'memo'};
$nakamifile1 = "../****1.txt";
$logfile = "../log***.txt";
$nakamifile2 = "../****2.txt";
$dasufile = "../****.html";

print <<MAMA;
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://127.0.0.1/~****/*****.html">
<BODY>
tyottomattre!<p>
MAMA

open(FILE1, ">$nakamifile1");
select FILE1;
print <<MAMA;
<TABLE><TR><TD>$name</TD></TR><TR><TD>$memo</TD></TR></TABLE><HR>
MAMA
close(FILE1);


open(FILE2, ">$nakamifile2");
select FILE2;
open(KAKI1, "$nakamifile1");
@kaki1 = <KAKI1>;
print @kaki1;
open(ROG, "$logfile");
@rog = <ROG>;
print @rog;
close(KAKI1);
close(ROG);
close(FILE2);


open(ROG, ">$logfile");
select ROG;
open(ROG1, "$nakamifile2");
@rog1 = <ROG1>;
print @rog1;
close(ROG1);


open(DASU, ">$dasufile");
select DASU;
print <<MAMA;
<HTML>
<HEAD><TITLE>TESTBBS</TITLE></HEAD>
<BODY LINK="#000000" VLINK="#000000">
<FORM METHOD="POST" ACTION="cgi-bin/****.cgi">
name<INPUT NAME="name"><P>
message<TEXTAREA NAME="memo" ROWS="4" COLS="60">
</TEXTAREA><P>
<INPUT TYPE="submit" VALUE="submit">
<INPUT TYPE="reset" VALUE="reset">
<HR>
MAMA
open(KAKIKO, "$nakamifile2");
@kakiko = <KAKIKO>;
print @kakiko;
close(KAKIKO);
print "</form>";
print "</html>";
close(DASU);
exit;

しかし??これでは永遠に書きこみが続いていきます(*^^*ゞ
《この掲示板に書き込みするとこんな感じ→ 「dbbbs4.html」