| #!/usr/bin/perl |
| |
| use strict; |
| use Fcntl; |
| |
| # must match line at top of lib/Mail/SpamAssassin/DBBasedAddrList.pm. |
| # now off until 3.0 |
| # BEGIN { @AnyDBM_File::ISA = qw(DB_File GDBM_File NDBM_File SDBM_File); } |
| |
| use AnyDBM_File ; |
| use vars qw( %h $k $v ) ; |
| |
| my $db; |
| if ($#ARGV == -1) { |
| $db = $ENV{HOME}."/.spamassassin/auto-whitelist"; |
| } else { |
| $db = $ARGV[0]; |
| } |
| |
| tie %h, "AnyDBM_File",$db, O_RDONLY,0600 |
| or die "Cannot open file $db: $!\n"; |
| my @k = grep(!/totscore$/,keys(%h)); |
| for my $key (@k) |
| { |
| my $t = $h{"$key|totscore"}; |
| my $v = $h{$key}; |
| if(defined($t)) { |
| printf "% 8.1f %15s -- %s\n", |
| $t/$v, (sprintf "(%.1f/%d)",$t/$v,$v), |
| $key; |
| } |
| } |
| untie %h; |