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>