Annotation of processmail/reminder.pl, revision 3.2

3.2     ! boris       1: #!/usr/bin/perl
1.1       boris       2: #
3.0       boris       3: #$Id: reminder.pl,v 1.3 2005/02/15 19:27:51 boris Exp $
1.1       boris       4: #
                      5: # Читаем файл и шлем e-mail
                      6: #
                      7: #
                      8: # Исходные файлы и параметры
                      9: #
                     10: 
                     11:     use Getopt::Std; 
                     12: 
3.0       boris      13: $usage = 'reminder.pl $Revision: 1.3 $, $Date: 2005/02/15 19:27:51 $'. "\n".
1.3       boris      14: "Usage: reminder.pl [-d] [-r round]  [-o results] \n";
1.1       boris      15: 
                     16: require 'parameters.pl';
                     17: require 'subroutines.pl';
                     18: 
1.3       boris      19: die $usage unless getopts('r:o:d');
1.1       boris      20: 
                     21: $DEBUG=$opt_d;
                     22: 
                     23: my %teams;
                     24: 
                     25: #
                     26: # Читаем ответы команд
                     27: #
1.3       boris      28: $round=0;
                     29: if ($opt_r)
1.1       boris      30: {
1.3       boris      31:     $round=$opt_r;
3.0       boris      32:     foreach my $file ( @{$FILES[$opt_r]} ) {
1.3       boris      33:        open (INFILE, $file);
                     34:        readmail(\%teams);
                     35:        close (INFILE);
                     36:     }
1.1       boris      37: }
                     38: else
                     39: {
                     40:     *INFILE=*STDIN;
                     41: }
                     42: readmail(\%teams);
                     43: close(INFILE);
3.1       boris      44: 
1.1       boris      45: #
                     46: # Пишем мейл
                     47: #
                     48: if ($opt_o)
                     49: { 
                     50:     die "Cannot open $opt_o\n" unless open(OUTFILE,">$opt_o");
                     51: }
                     52: else
                     53: {
                     54:     open(OUTFILE,"|/usr/lib/sendmail -oi -t");
                     55: }
                     56: select OUTFILE;
                     57: &printheader;
3.2     ! boris      58: my $numletters=0;
1.1       boris      59: foreach $team (keys %teams)
                     60: {
1.2       boris      61:     my $num=$teams{$team}->{'numletters'};
                     62:     print  "$team [$num]\n";
3.2     ! boris      63:     $numletters += $num;
1.1       boris      64: }
                     65: 
3.2     ! boris      66: print "\n------------------\n";
        !            67: printf("Всего команд: %3d\n", scalar keys %teams);
        !            68: printf("Всего писем:  %3d\n", $numletters);
        !            69: 
1.1       boris      70: &printfooter;
                     71: 
3.1       boris      72: #
                     73: # На всякий случай проверяем на наличие команд с дублирующимися номерами.
                     74: #
                     75: check_dup_numbers(\%teams);

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>