#!/usr/bin/perl -w use strict; unshift(@::ARGV, 'registration.html') if $#::ARGV == -1; if (-t STDOUT) { open(OUT, '>ranked.html') || die; select(OUT); } my @gP; # read and parse input file while (<>) { if (/^
$/../^<\/pre>$/) {
    next unless /^[A-Z]/ && !/^Name/;
    my ($name, $club, $p1996, $qual, $regd, $mem, $ratings)
      = unpack('A21 A13 A5 A5 A4 A4 A*', $_);
    $ratings =~ s/[- ]+$//;
#CHI    my (@ratings, $chicago);
#CHI    (@ratings[0..2], $chicago) = split(/\s+/, $ratings);
#CHI    my $isEst = 0;
#CHI    if (defined $chicago) { # player shows Chicago NSC estimate
#CHI      @ratings = sort {$b<=>$a} @ratings;
#CHI      if ($chicago > $ratings[0]) { 
#CHI        unshift(@ratings, $chicago);
#CHI        $isEst = 1;
#CHI        }
#CHI      }
#CHI    else { # no Chicago estimate
#CHI      @ratings = sort {$b<=>$a} (@ratings);
#CHI      }
    my @ratings = sort {$b<=>$a} split(/\s+/, $ratings);
    push(@gP, 
#CHI     [$name, $club, $p1996, $qual, $regd, $mem, $ratings, $ratings[0], $isEst]);
      [$name, $club, $p1996, $qual, $regd, $mem, $ratings, $ratings[0]]);
    }
  }

my ($i, $p);
my %gkSortValue = ('yes', 4, 'gm?', 2, 'ip', 3, 'no', 1, 'n/a', 0, 'NO', 0);
$i = 1;
print "\n";
print "\n";
print "1998 CNSC Qualification Standings\n";
print "\n";
print "\n";
print "\n";
print "

1998 CNSC Qualification Standings

\n"; print "\n"; print "This automatically generated list shows who has qualified and\n"; print "who has registered to play in the 1998 CNSC.\n"; print "E-mailed"; print " corrections welcome.\n"; print "

\n"; print "

Legend

\n"; print "\n"; print "
\n";
print "\n";

printf "%-3s %-21s %-13s %-4s %-4s %-4s\n", 
  'Rnk', 'Name', 'Club', 'Qual', 'Regd', 'Rtng';
print "\n";
for $p (sort { 
  $gkSortValue{$b->[4]} <=> $gkSortValue{$a->[4]} ||
  $gkSortValue{$b->[3]} <=> $gkSortValue{$a->[3]} ||
  $b->[7] <=> $a->[7] ||
  $b->[1] cmp $a->[1] ||
  $b->[0] cmp $a->[0]
  } @gP) {
  print "\n" if $i == 51;
  printf "%02d. %-21s %-13s %4s %4s %4d%s\n", $i++, @{$p}[0,1,3,4,7],
#CHI   $p->[8] ? '?' : 
    '';
  }
print "
\n"; print "\n"; print "\n"; 0;