# USER VARIABLES # define number of people, number of prizes, number of draws (> 5) my $people = 10; my $prizes = 8; my $draws = 22*2; # define total set of BINGO numbers # range of numbers my $range = 75; # INTERNAL/DEVELOPMENT VARIABLES my $bin = int $range/5; my @bins = ($bin, 2*$bin, 3*$bin, 4*$bin); #my @seq = @fudgedDrawSeq; my (@callseq, @noncallseq); #auxillary lists to build my @winstring; # MAIN EXECUTION 1 # * this part used to define metadata; cards outputed from metadata # * this metadata needed so Matt can have the draw sequence now. # my %ball; #hash containing $range BINGO balls THIS SHOULDN'T BE HERE # my @drawSeq; #for &defDrawSeq, draw sequence ... # for ($draws..($range-1)){push( @noncallseq, $seq[$_] ); print "$seq[$_], ";} # &mkWinstring; # unless (&chkWinstring){die "\nplease rerun, internal randomization er +ror"} # &mkCards; # FUNCTIONS 1 sub ... #### sub getRand { my $temp; while (1) { $temp = int(1111*rand()/11); unless ($temp == 0) { return $temp } } }; sub getDrawBall { my $type = shift; while (1) { my $temp = pop @callseq; unshift( @callseq, $temp ); if ($temp =~ /$type/) { return $temp; print "DEBUG getDrawBall: $temp\n"; } } } sub getNonDrawBall { my $type = shift; while (1){ my $temp = pop @noncallseq; unshift( @noncallseq, $temp ); #print "sNDB\:\: TEMP $temp TYPE $type\n"; if ($temp =~ /$type/) { return $temp; print "DEBUG getnonDrawBall: $temp\n"; } } }