Random::Simple - Generate good random numbers in a user consumable way.
use Random::Simple;
my $coin_flip = random_int(1, 2);
my $die_roll = random_int(1, 6);
my $random_percent = random_float() * 100;
my $buffer = random_bytes(8);
my @arr = ('red', 'green', 'blue');
my $rand_item = $arr[random_int(0, @arr - 1)]; # Random array item
Perl's internal rand()
function uses drand48
which is an older
pseudorandom number generator and may have limitations. Random::Simple
uses
PCG which is: modern, simple, well vetted, and fast. Using Random::Simple
will automatically upgrade/override the core rand()
function to use a
better PRNG.
Random::Simple
is automatically seeded with entropy directly
from your OS. On Linux this is /dev/urandom
and on Windows it uses
CryptGenRandom. You will get statistically unique random numbers
automatically.
-
random_int($min, $max)
returns a non-biased integer between
$min
and$max
(inclusive). Range must be no larger than 2**32 - 2. -
random_float()
returns a random floating point value between 0 and 1 (inclusive).
-
random_bytes($number)
returns a string of random bytes with length of
$number
. -
rand()
emulates
CORE::rand()
using a better PRNG.
Submit issues on Github: https://github.com/scottchiefbaker/perl-Random-Simple/issues
Scott Baker - https://www.perturb.org/