【 スクリプト改造工房 PART 5 】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/08/01 18:19ID:???#================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
質問するときは以下の点に注意して書いて下さい
(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い
※答えてくれないからといって逆ギレする厨はお断り
#================================
# 過去のスレッド
#================================
【PART1】行方不明
【PART2】http://pc.2ch.net/test/read.cgi/perl/986986227/
【PART3】http://pc.2ch.net/php/kako/988/988808396.html (HTML化済み)
0562nobodyさん
03/01/07 17:12ID:???どういったものを希望しているのかわからんが…。
名前ごとの発言回数を記録したいならこれでいけると思う。
sub rank($) {
my($name) = @_;
my $found = 0;
my @log;
open RNK, "+<", $rankfile or error("Can't open file:$rankfile");
eval "flock RNK, 2;";
while (<RNK>) {
chomp;
my($log_name, $log_count) = split /\t/;
if ($name eq $log_name) {
push @log, join("\t", $name, ++$log_count) . "\n";
$found = 1;
} else {
push @log, join("\t", $log_name, $log_count) . "\n";
}
}
if (!$found) {
push @log, join("\t", $name, 1) . "\n";
}
truncate RNK, 0;
seek RNK, 0, 0;
print RNK @log;
close RNK;
}
0563nobodyさん
03/01/07 17:13ID:???sub viewrank {
open RNK, "<", $rankfile or error("Can't open file:$rankfile");
eval "flock RNK, 1;";
my @rank = <RNK>;
close RNK;
# by perlメモ
@rank = map {$_->[0]}
sort {$b->[2] <=> $a->[2]}
map {[$_, split /\t/]} @rank;
hphead();
print qq[<h1>発言ランキング</h1>\n].
qq[<table border="1">\n].
qq[<tr><td>名前</td><td>発言回数</td></tr>\n];
foreach (@rank) {
chomp;
my($name, $count) = split /\t/;
print qq[<tr><td>$name</td><td>$count</td></tr>\n];
}
print qq [</table>\n];
hpfoot();
}
■ このスレッドは過去ログ倉庫に格納されています