NAME

Random::Simple - Generate good random numbers in a user consumable way.

Why Random::Simple?

To make generating random numbers as easy as possible and in a manner that you can use in real code. Generate "good" random numbers without having to think about it.

Usage

use Random::Simple;

my $integer = random_int($min, $max); # inclusive
my $float   = random_float();         # 0 - 1 inclusive
my $bytes   = random_bytes($count);   # string of X bytes

my $die_roll       = random_int(1, 6);
my $random_percent = random_float() * 100;
my $buffer         = random_bytes(8);

Methodology

Perl's internal rand() function uses drand48() which is an older PRNG, and may have limitations. `Random::Simple` uses PCG which is: modern, simple, well vetted, and fast.

Random::Simple is automatically seeded with high quality 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.

See also

  • Math::Random::PCG32

  • Math::Random::ISAAC

  • Math::Random::MT

  • Math::Random::Secure

More information

https://github.com/scottchiefbaker/perl-Random-Simple

Author

Scott Baker - https://www.perturb.org/