正規乱数(正規分布の乱数)を作る方法です。 ボックス・ミューラーの正規乱数発生法より $sigma は標準偏差、$m は、中央値です。 3.14159265359 はπ(円周率)です。 sub randn { my ($m, $sigma) = @_; my ($r1, $r2) = (rand(), rand()); while ($r1 == 0) { $r1 = rand(); } return ($sigma * sqrt(-2 * log($r1)) * sin(2 * 3.14159265359 * $r2)) + $m; } print &randn(5, 3); # 平均値5、標準偏差3