新規記事投稿
フォロー記事投稿
記事のキャンセル
From: cgi
<madoka@red.interq.or.jp>
Subject: 記事のカウウント
Date: 2002/08/01 16:55:07
こんにちわ。自作のBBSを作成してます。そこで、投稿された記事にカウントをつけたいのですがどのようにすればいいでしょうか?プログラムは下記のように組んでいます。
print OUT したときにカウントを表示させたいのでよろしくお願いします。
#!C:/Perl/bin/perl
$|-1;
require 'jcode.pl';
require 'cgi-lib.pl';
&ReadParse;
#もしメッセージがあれば
if ($in{'name'} && $in{'mes'} && $in{'url'} && $in{'tenki'})
	{
	$name = $in{'name'};
	$mes = $in{'mes'};
	$url = $in{'url'};
	$tenki = $in{'tenki'};
	#メッセージの漢字コード変換
	&jcode'convert(*name,"sjis");
	&jcode'convert(*mes,"sjis");
	&jcode'convert(*tenki,"sjis");
	#日付取得
	($min,$hou,$day,$mon,$yea) = (localtime(time))[1..5];
	$mon++;
	$yea += 1900;
	$date = sprintf("%4d/%.2d/%.2d %.2d:%.2d",$yea,$mon,$day,$hou,$min);
	#メッセージ整形
	$mes =~ s/\n/
\n/g;
	$name = "$name\n";
	$url = "$url\n";
	$date = "$date\n";
	$tenki = "$tenki\n";
	$mes = "$mes\n";
	#記録ファイル読み込み
	open (IN,"X.dat");
	@lines = ;
	close IN;
	#新規メッセージ記録
	open (OUT,">mad.dat");
	print OUT "| \n";
	print OUT "■\n";
	if ($in{'url'} eq "") {
	print OUT "$in{'name'}\n";
	} elsif ($in{'url'} =~ /^http:/) {
	print OUT "$in{'name'}\n";
	} else {
	print OUT "$in{'name'}\n";
	}
	print OUT "$date\n";
	print OUT "$in{'tenki'}\n";
	print OUT " | 
|---|
| \n";
	print OUT "$mes\n";
	print OUT "\n";
	print OUT "\n";
	print OUT " | 
\n";
	#過去のデータを文頭から一行づつ順次再記録(ループ)
	foreach (@lines)
		{
		#もしその行が「
」なら
		if ($_  eq "| \n")
			{#登場回数インクリメント
			$number++;
			}
		#登場回数が2以下なら
		if ($number <= 2)
			{#その行を記録
			print OUT $_;
			} #19をこえる場合は
			else
			{#ループを抜ける
			last;
			}
		}
	close OUT;
	}
#記録ファイル読み込み
@lines = ();
open (IN,"X.dat");
@lines = ;
close IN;
 | 
|---|