Annotation of processmail/processmail.pl, revision 3.2

3.2     ! boris       1: #!/usr/bin/perl
        !             2: #$Id: processmail.pl,v 3.1 2008-03-24 16:01:47 boris Exp $
2.1       boris       3: #
                      4: #
                      5: # Исходные файлы и параметры
                      6: #
                      7: 
                      8:     use Getopt::Std; 
                      9: 
3.2     ! boris      10: $usage = 'processmail.pl $Revision: 3.1 $, $Date: 2008-03-24 16:01:47 $'. "\n".
2.3       boris      11: "Usage: processmail.pl [-d] [-t table_file]  [-o results] \n";
2.1       boris      12: 
                     13: require 'parameters.pl';
                     14: require 'subroutines.pl';
                     15: 
2.3       boris      16: die $usage unless getopts('t:o:d');
2.1       boris      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: #
2.3       boris      34: # Читаем ответы команд для ВСЕХ зачётов
2.1       boris      35: #
2.3       boris      36: 
                     37: $MAXQUEST=1;
                     38: for (my $i=1; $i<=$ROUNDS; $i++) {
                     39:     if ($MAXQUEST<$MAXQUEST[$i]) {
                     40:        $MAXQUEST=$MAXQUEST[$i];
                     41:     }
2.1       boris      42: }
2.3       boris      43: 
                     44: for (my $i=1; $i<=$ROUNDS; $i++) {
3.0       boris      45:     foreach my $file ( @{$FILES[$i]} ) {
2.3       boris      46:        open (INFILE, $file);
                     47:        readmail(\%teams);
                     48:        collect_answers(\%teams,\@answers);
                     49:        close (INFILE);
                     50:     }
2.1       boris      51: }
2.3       boris      52: 
2.1       boris      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: 
3.1       boris      70: #
                     71: # На всякий случай проверяем на наличие команд с дублирующимися номерами.
                     72: #
                     73: check_dup_numbers(\%teams);

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