#!/usr/local/bin/perl # # Triviaalne Usenet newsi statistika tegemise programm # Kokku kribanud Meelis Roos # GPL tingimustel võib seda asja levitada ja kasutada # # Kasutamine: newscount.pl uudiste.grupi.nimi # NNTP serveri nimi võetakse keskkonnamuutujast NNTPSERVER # # Vajab paari moodulit CPANist. use News::NNTPClient; use MIME::Words qw(:all); if ($#ARGV<0) { print "Kasutamine: $0 \n"; print "Newsi serveriks kasutatakse \$NNTPSERVER'it.\n"; exit; } $group=$ARGV[0]; $c = new News::NNTPClient; ($first,$last)=$c->group($group) || exit; foreach $addr ($c->xhdr("From", $first, $last)) { chomp ($addr); $addr=~s/^\d+\s+(.*)$/$1/o; $addr=decode_mimewords($addr); $addr=~s/\@(madli|cs|iur|math|lai|ccu|romulus.cs|queenie.lai).ut.ee/\@ut.ee/io; $addr=~s/(.*)\@([^ ]*)\s+\((.*)\)$/$3 <$1\@$2>/o; $addr=~s/"([^<>]*)"\s+(<.*>)/$1 $2/o; $addr=~s/^\s*<(.*)>$/$1/o; $names{$addr}++; } $i=0; foreach $name (sort { $names{$b} <=> $names{$a} } keys %names) { $i++; print "$i. $names{$name} $name\n"; }