1: #!/usr/local/bin/perl
2: #$Id: processmail.pl,v 3.0 2008/03/23 17:50:50 boris Exp $
3: #
4: #
5: # Исходные файлы и параметры
6: #
7:
8: use Getopt::Std;
9:
10: $usage = 'processmail.pl $Revision: 3.0 $, $Date: 2008/03/23 17:50:50 $'. "\n".
11: "Usage: processmail.pl [-d] [-t table_file] [-o results] \n";
12:
13: require 'parameters.pl';
14: require 'subroutines.pl';
15:
16: die $usage unless getopts('t:o:d');
17:
18: $DEBUG=$opt_d;
19:
20:
21: my %teams;
22: my @answers;
23: #
24: # Читаем старые результаты
25: #
26: if ($opt_t)
27: {
28: die "Cannot open $opt_t\n" unless open(INFILE,$opt_t);
29: readhash(\@answers);
30: close(INFILE);
31: }
32:
33: #
34: # Читаем ответы команд для ВСЕХ зачётов
35: #
36:
37: $MAXQUEST=1;
38: for (my $i=1; $i<=$ROUNDS; $i++) {
39: if ($MAXQUEST<$MAXQUEST[$i]) {
40: $MAXQUEST=$MAXQUEST[$i];
41: }
42: }
43:
44: for (my $i=1; $i<=$ROUNDS; $i++) {
45: foreach my $file ( @{$FILES[$i]} ) {
46: open (INFILE, $file);
47: readmail(\%teams);
48: collect_answers(\%teams,\@answers);
49: close (INFILE);
50: }
51: }
52:
53: #
54: # Пишем измененную таблицу в файл.
55: #
56: if ($opt_o)
57: {
58: die "Cannot open $opt_o\n" unless open(OUTFILE,">$opt_o");
59: select OUTFILE;
60: }
61: for ($i=1;$i<=$MAXQUEST;$i++)
62: {
63: foreach $symbol ('+','-','?')
64: {
65: dumphash(\%teams,\@answers,$i,$symbol);
66: }
67: }
68: print "***\n";
69:
70:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>