# ♻️ Random::Simple
Perl module to 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.
## 📦 Installation
```bash
cpanm Random::Simple
```
## 💻 Usage
```perl
use Random::Simple;
my $integer = random_int($min, $max); # inclusive
my $bytes = random_bytes($count);
```
## 🧠 Methodology
Perl's internal `rand()` function uses `drand48()` which is an older PRNG,
and may have limitations. `Random::Simple` uses
[PCG](https://www.pcg-random.org/download.html) 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
If you need finer grained control of your random numbers check out one
of these alternatives:
* [Math::Random::PCG32](https://metacpan.org/pod/Math::Random::PCG32)
* [Math::Random::ISAAC](https://metacpan.org/pod/Math::Random::ISAAC)
* [Math::Random::MT](https://metacpan.org/pod/Math::Random::MT)
* [Math::Random::Secure](https://metacpan.org/pod/Math::Random::Secure)
## 👴 Author
Scott Baker - https://www.perturb.org/