#!/usr/bin/perl print "Content-type: text/html"; print "\n\n"; print "\n"; print "\nTimes to Come Lucky Numbers Page"; print "\n"; print "\n"; print << "EOM"; \n \n \n
EOM $method = $ENV{'REQUEST_METHOD'}; if( $method !~ /POST/ ){ print "\n

invalid input method used

\n"; print "\n

please use the post method

"; exit (0); } $bytes = $ENV{'CONTENT_LENGTH'}; read(STDIN, $query, $bytes); #split input into assigned fields (@variables) = split('&', $query); for$a_variable (@variables){ ($var_name, $value) = split('=', $a_variable); $value =~ y/\+/ /; $form{$var_name} = $value; } #verify numbers to screen $low = $form{'lowNumber'}; $high = $form{'highNumber'}; $bm = $form{'bMonth'}; $bd = $form{'bDay'}; $by = $form{'bYear'}; $lm = $form{'month'}; $ld = $form{'day'}; $ly = $form{'year'}; $amount = $form{'quantity'}; print "\n\n

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

Number range => $form{'lowNumber'} to $form{'highNumber'}

\n"; print "\nQuantity => $form{'quantity'}

\n"; print "\nBirthday => $form{'bMonth'} / $form{'bDay'} / $form{'bYear'}

\n"; print "\nLucky number day => $form{'month'} / $form{'day'} / $form{'year'}

\n"; print "\n

Your lucky numbers are:

"; #get lucky numbers eliminating out of range and duplicates $size = $high - $low; @array[$size+1]; $i = 0; while ( $i < ($size+1) ){ $array[$i] = $i + $low; $i++; } $seedB = $bm + $bd + $by; $seedL = $lm + $ld + $ly; @lucky[$amount]; $j=0; while ( $j< $amount ){ $lucky[$j] = 0; $j++; } $count = 0; $loop = 0; $temp3 = 0; $flag = 0; $length = $high - $low + 1; @options[$length]; $num = $low - 1; if ( $low == 0){ print "\n

Sorry, I can not handle zeros yet"; } while($num < $high ){ $options[$num] = $num + 1; $num++; } $eliminate = $length - $amount; $count = $length; $done = $eliminate; if ( $eliminate < 1 ){ print "\n

invalid data"; }else{ while ($done > 0 ){ $temp3 = ($seedB * $seedL) % ($count); if ($temp3 > ($length-1) ){ $count++; }elsif($options[$temp3] == '*'){ $count++; }else{ $done--; $count++; $options[$temp3] = '*'; } } } $num = $low; while ($num < $high ){ if ( $options[$num] != '*' ){ print "\n $options[$num],"; } $num++; } print "*


*Note if you are getting numbers for multiple days,"; print " be sure to clear data from form before resubmitting numbers.

"; print "\n";