version 1.2, 2002/02/04 17:32:41
|
version 3.2, 2013/10/11 15:39:35
|
Line 1
|
Line 1
|
#!/usr/local/bin/perl |
#!/usr/bin/perl |
# |
# |
#$Id$ |
#$Id$ |
# |
# |
Line 11
|
Line 11
|
use Getopt::Std; |
use Getopt::Std; |
|
|
$usage = 'reminder.pl $Revision$, $Date$'. "\n". |
$usage = 'reminder.pl $Revision$, $Date$'. "\n". |
"Usage: reminder.pl [-d] [-m mail_file] [-o results] \n"; |
"Usage: reminder.pl [-d] [-r round] [-o results] \n"; |
|
|
require 'parameters.pl'; |
require 'parameters.pl'; |
require 'subroutines.pl'; |
require 'subroutines.pl'; |
|
|
die $usage unless getopts('t:m:o:d'); |
die $usage unless getopts('r:o:d'); |
|
|
$DEBUG=$opt_d; |
$DEBUG=$opt_d; |
|
|
Line 25 my %teams;
|
Line 25 my %teams;
|
# |
# |
# Читаем ответы команд |
# Читаем ответы команд |
# |
# |
if ($opt_m) |
$round=0; |
|
if ($opt_r) |
{ |
{ |
die "Cannot open $opt_m\n" unless open(INFILE,$opt_m) |
$round=$opt_r; |
|
foreach my $file ( @{$FILES[$opt_r]} ) { |
|
open (INFILE, $file); |
|
readmail(\%teams); |
|
close (INFILE); |
|
} |
} |
} |
else |
else |
{ |
{ |
Line 35 else
|
Line 41 else
|
} |
} |
readmail(\%teams); |
readmail(\%teams); |
close(INFILE); |
close(INFILE); |
|
|
# |
# |
# Пишем мейл |
# Пишем мейл |
# |
# |
Line 48 else
|
Line 55 else
|
} |
} |
select OUTFILE; |
select OUTFILE; |
&printheader; |
&printheader; |
|
my $numletters=0; |
foreach $team (keys %teams) |
foreach $team (keys %teams) |
{ |
{ |
my $num=$teams{$team}->{'numletters'}; |
my $num=$teams{$team}->{'numletters'}; |
print "$team [$num]\n"; |
print "$team [$num]\n"; |
|
$numletters += $num; |
} |
} |
|
|
|
print "\n------------------\n"; |
|
printf("Всего команд: %3d\n", scalar keys %teams); |
|
printf("Всего писем: %3d\n", $numletters); |
|
|
&printfooter; |
&printfooter; |
|
|
|
# |
|
# На всякий случай проверяем на наличие команд с дублирующимися номерами. |
|
# |
|
check_dup_numbers(\%teams); |