Annotation of processmail/collection.pl, revision 3.1

1.1       boris       1: #!/usr/local/bin/perl
                      2: #
3.0       boris       3: #$Id: collection.pl,v 1.4 2005/02/16 22:25:59 boris Exp $
1.1       boris       4: #
                      5: # Собрание сочинений
                      6: #
                      7:     use Getopt::Std; 
                      8: 
1.4       boris       9: $usage = 
                     10: "Usage: collection.pl [-d] [-t table_file]  [-o results] \n";
1.1       boris      11: 
                     12: require 'parameters.pl';
                     13: require 'subroutines.pl';
                     14: 
1.4       boris      15: die $usage unless getopts('t:o:d');
1.1       boris      16: 
                     17: $DEBUG=$opt_d;
                     18: 
1.4       boris      19: # Находим максимальный вопрос
                     20: $MAXQUEST=1;
                     21: for (my $i=1; $i<=$ROUNDS; $i++) {
                     22:     if ($MAXQUEST<$MAXQUEST[$i]) {
                     23:        $MAXQUEST=$MAXQUEST[$i];
                     24:     }
                     25: }
                     26: 
1.1       boris      27: 
                     28: 
                     29: my %teams;
                     30: my @answers;
                     31: #
                     32: # Читаем старые результаты
                     33: #
                     34: if ($opt_t)
                     35: {
                     36:     die "Cannot open $opt_t\n" unless open(INFILE,$opt_t);
                     37:     readhash(\@answers);
                     38:     close(INFILE);
                     39: }
                     40: 
                     41: #
                     42: # Читаем ответы команд
                     43: #
1.4       boris      44: for (my $i=1; $i<=$ROUNDS; $i++) {
3.1     ! boris      45:     foreach my $file ( @{$FILES[$i]} ) {
1.4       boris      46:        open (INFILE, $file);
                     47:        readmail(\%teams);
                     48:        collect_answers(\%teams,\@answers);
                     49:        close (INFILE);
                     50:     }
1.1       boris      51: }
1.4       boris      52: 
3.1     ! boris      53: #
1.1       boris      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:     print "\nВОПРОС $i:\n";
                     64:     print "\nЗАСЧИТАНО:\n";
                     65:     anondump(\%teams,\@answers,$i,'+');
                     66:     print "\nНЕ ЗАСЧИТАНО:\n";
                     67:     anondump(\%teams,\@answers,$i,'-');
                     68:     print "\nНЕ ЯСНО:\n";
                     69:     anondump(\%teams,\@answers,$i,'?');
                     70: }
                     71: print "***\n";
                     72: 
3.1     ! boris      73: #
        !            74: # На всякий случай проверяем на наличие команд с дублирующимися номерами.
        !            75: #
        !            76: check_dup_numbers(\%teams);
1.1       boris      77: 

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