for ($x=10; $x<1000000; $x=$x*10){ $error_rate = $x; print "Error rate = 1 every $x, errors = "; for ($y=0;$y<5;$y++){ errortest(); } print "\n"; } sub errortest { $errors = 0; for ($n=0;$n<1000000;$n++){ $random = int (rand($error_rate)); if ($random == 1){$errors++} } print $errors, " "; } Output: Error rate = 1 every 10, errors = 99778 100371 99586 99912 99778 Error rate = 1 every 100, errors = 10007 9962 9803 10063 10132 Error rate = 1 every 1000, errors = 1004 1019 1049 1011 945 Error rate = 1 every 10000, errors = 90 84 87 79 83 Error rate = 1 every 100000, errors = 0 0 0 0 0