#!/usr/bin/perl print "Content-type: text/html\n\n" ; $query_string = $ENV{'QUERY_STRING'}; ($temp1, $temp2, $temp3) = split(/&/,$query_string); ($temp4, $tournament) = split(/=/,$temp1); ($temp4, $choice) = split(/=/,$temp2); ($temp4, $namer) = split(/=/,$temp3); print "Click here to go back"; print "

Tournament Selected: $tournament
"; print "Tournament Selected: $tournament
"; print "Choice Selected: $choice

"; $a=-1; $match_number=-1; $data_file="../$tournament.txt"; open(DAT, $data_file) || die("Could not open file!"); while ($cool = ) { ########Read in match data line by line chomp; ########Extract both players' names from this line my @temp = split(/\s/, $cool); $Player1 = uc($temp[0]); $Player2 = uc($temp[1]); ########Extract both players' scores from this line my @temp = split(/-/, $temp[2]); $Score1=$temp[0]; $Score2=$temp[1]; ########Store this information in a match history array $a = $a + 1; $History[$a]{'Player1'}=$Player1; $History[$a]{'Player2'}=$Player2; $History[$a]{'Score1'}=$Score1; $History[$a]{'Score2'}=$Score2; #########print "$Player1, $Player2: $Score1-$Score2\n"; #########Compute wins, losses, and draws from the matches if ($Score1>$Score2) { $Record{$Player1}{'win'} = $Record{$Player1}{'win'} + 1; $Record{$Player1}{'score'} = $Record{$Player1}{'score'} + 1; $Record{$Player2}{'loss'} = $Record{$Player2}{'loss'} + 1; } elsif ($Score1<$Score2) { $Record{$Player2}{'win'} = $Record{$Player2}{'win'} + 1; $Record{$Player2}{'score'} = $Record{$Player2}{'score'} + 1; $Record{$Player1}{'loss'} = $Record{$Player1}{'loss'} + 1; } else { $Record{$Player1}{'draw'} = $Record{$Player1}{'draw'} + 1; $Record{$Player2}{'draw'} = $Record{$Player2}{'draw'} + 1; $Record{$Player1}{'score'} = $Record{$Player1}{'score'} + .5; $Record{$Player2}{'score'} = $Record{$Player2}{'score'} + .5; } } close(DAT); $match_number=$a; ##########Change null wins, losses, and draws to 0 foreach $Key ( keys %Record ) { if (defined($Record{$Key}{'score'}) == 0) { # print $Key.'Score Undefined\n'; $Record{$Key}{'score'} = 0; } if (defined($Record{$Key}{'loss'}) == 0) { # print $Key.'Loss Undefined\n'; $Record{$Key}{'loss'} = 0; } if (defined($Record{$Key}{'win'}) == 0) { # print $Key.'Win Undefined\n'; $Record{$Key}{'win'} = 0; } if (defined($Record{$Key}{'draw'}) == 0) { # print $Key.'Draw Undefined\n'; $Record{$Key}{'draw'} = 0; } } if (($choice eq "2") || ($choice eq "3") || $choice eq "4") { &Print_Scores; } if ($choice eq "1") { &Print_Participants; } if ($choice eq "5") { &Lookup_name;} sub Lookup_name { $Key = uc($namer); if (defined($Record{$Key}{'score'}) == 0) { print "Sorry, no record of this player in this tournament."; exit; } print "$Key -- Score: $Record{$Key}{'score'}
"; print "Wins: $Record{$Key}{'win'}"; print " , Losses: $Record{$Key}{'loss'}"; print " , Draws: $Record{$Key}{'draw'}"; print "

"; print "Searching Match History...

"; for ($num=0; $num<= $match_number; $num++){ #print "$History[$num]{'Player1'}, $History[$num]{'Player2'}
"; if ($History[$num]{'Player1'} eq $Key) { if ($History[$num]{'Score1'} > $History[$num]{'Score2'}) { print "Played Against $History[$num]{'Player2'} and Won
"; } elsif ($History[$num]{'Score1'} < $History[$num]{'Score2'}) { print "Played Against $History[$num]{'Player2'} and Lost
"; } else { print "Played Against $History[$num]{'Player2'} and Drew
"; } } elsif ($History[$num]{'Player2'} eq $Key) { if ($History[$num]{'Score1'} > $History[$num]{'Score2'}) { print "Played Against $History[$num]{'Player1'} and Lost
"; } elsif ($History[$num]{'Score1'} < $History[$num]{'Score2'}) { print "Played Against $History[$num]{'Player1'} and Won
"; } else { print "Played Against $History[$num]{'Player1'} and Drew
"; } } } } sub Print_Participants { foreach $Key (sort {$a <=> $b} (keys(%Record))) { print "$Key
"; } } sub Print_Scores { $number=0; #########Cycle through each player, sorting by points foreach $Key (sort {$Record{$b}{'score'} <=> $Record{$a}{'score'}} (keys(%Record))) { #if (($choose ne "4" ) || ($Record{$Key}{'win'} > ($Record{$Key}{'loss'})) { if (($Record{$Key}{'win'} ge $Record{$Key}{'loss'}) || ($choice ne "4")) { print "$Key -- Score: $Record{$Key}{'score'}
"; print "Wins: $Record{$Key}{'win'}"; print " , Losses: $Record{$Key}{'loss'}"; print " , Draws: $Record{$Key}{'draw'}"; print "

"; } if ($choice eq "3") { $number = $number + 1; if ($number == 3) { exit; } } } exit; }