#!c:\perl\bin\perl.exe use strict; use warnings; use diagnostics; use Math::Random; my $num_rolls = 10000; my @rollhashes; for (my $i=0; $i<4; $i++) { $rollhashes[$i] = { 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 0, 10 => 0, 11 => 0, 12 => 0 }; } for (1 .. $num_rolls) { my $m1 = random_uniform_integer(1,1,6); my $m2 = random_uniform_integer(1,1,6); my $math = $m1 + $m2; $rollhashes[2]{$math}++; my $m0 = random_uniform_integer(2,1,12); $rollhashes[0]{$m0}++; my $r1 = (int(rand(6) + 1)); my $r2 = (int(rand(6) + 1)); my $rand = $r1 + $r2; $rollhashes[3]{$rand}++; my $r0 = (int(rand(12) + 2)); $rollhashes[1]{$r0}++; } print "\nUSING TWO DICE:\n"; print "\nMath::Random\t\tint(rand)\n"; for (my $i = 2; $i <= 12; $i++) { my $n = sprintf("%02d",$i); print "$n = $rollhashes[2]{$i}\t\t$n = $rollhashes[3]{$i}\n"; } print "\nUSING ONE DIE:\n"; print "\nMath::Random\t\tint(rand)\n"; for (my $i = 2; $i <= 12; $i++) { my $n = sprintf("%02d",$i); print "$n = $rollhashes[0]{$i}\t\t$n = $rollhashes[1]{$i}\n"; }