File:  [Local Repository] / processmail / processmail.pl
Revision 2.3: download - view: text, annotated - select for diffs - revision graph
Tue Feb 15 19:27:51 2005 UTC (19 years, 4 months ago) by boris
CVS tags: Version_3
Started to move to the new scheme

    1: #!/usr/local/bin/perl
    2: #$Id: processmail.pl,v 2.3 2005/02/15 19:27:51 boris Exp $
    3: #
    4: #
    5: # Исходные файлы и параметры
    6: #
    7: 
    8:     use Getopt::Std; 
    9: 
   10: $usage = 'processmail.pl $Revision: 2.3 $, $Date: 2005/02/15 19:27:51 $'. "\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 (split /\s+/, $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>