$ perl -e 'my ($n, $s, $r) = @ARGV; my %x; for (1 .. $r) { my $y = 0; for (1 .. $n) { $y += 1 + int rand $s } ++$x{$y} } printf "Chance of rolling %3d is %3d%%\n", $_, int $x{$_} / $r * 100 for sort { $a <=> $b } keys %x' 2 6 1000000 #### $ perl -e ' my ($n, $s, $r) = @ARGV; my %x; for (1 .. $r) { my $y = 0; for (1 .. $n) { $y += 1 + int rand $s } ++$x{$y} } printf "Chance of rolling %3d is %3d%%\n", $_, int $x{$_} / $r * 100 for sort { $a <=> $b } keys %x ' 2 6 1000000 Chance of rolling 2 is 2% Chance of rolling 3 is 5% Chance of rolling 4 is 8% Chance of rolling 5 is 11% Chance of rolling 6 is 13% Chance of rolling 7 is 16% Chance of rolling 8 is 13% Chance of rolling 9 is 11% Chance of rolling 10 is 8% Chance of rolling 11 is 5% Chance of rolling 12 is 2%