>>561
どういったものを希望しているのかわからんが…。
名前ごとの発言回数を記録したいならこれでいけると思う。
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;
}