SYNOPSIS
use Math::RandomOrg qw(randnum randbyte);
my $number = randnum(0, 10);
my $octet = randbyte(1);
DESCRIPTION
Math::RandomOrg provides functions for retrieving random data from the random.org server. Data may be retrieved in an integer or byte-stream format using the "randnum" and "randbyte" functions respectively.REQUIRES
- Carp
- Exporter
- Math::BigInt
- LWP::Simple
EXPORT
None by default. You may request the following symbols be exported:- randnum
- randbyte
FUNCTIONS
- "checkbuf()"
- This routine takes no parameters and simply returns a single value (e.g., "28%") telling you how full the buffer is. At 100%, the buffer is full and you are free to hit it with automated clients. At 0%, the buffer is empty and requests will hang. When less than 100%, the buffer is being filled continually, but doing so takes time. I advise people with automated clients to check the buffer level every once in a while and only issue requests when the buffer level is 20% or higher.
- "randnum ( $min, $max )"
-
Return an integer (specifically a Math::BigInt object) between the bounds [ $min, $max ] (inclusive).
By default, $max and $min are positive and negative 1e9, respectively. These default values represent random.org's current extrema for the bounds of the randnum function. Therefore, $min and $max may not exceed the default values.
- "randbyte ( $length )"
-
Returns an octet-string of specified length (defaults to one byte), which contains random bytes.
$length may not exceed 16,384, as this is the maximum number of bytes retrievable from the random.org server in one request, and making multiple requests for an unbounded amount of data would unfairly tax the random.org server. If you need large amounts of random data, you may wish to try the Math::TrulyRandom module.
- "randseq ( $min, $max )"
-
The randseq script returns a randomized sequence of numbers. This corresponds to dropping a number of lottery tickets into a hat and drawing them out in random order. Hence, each number in a randomized sequence occurs exactly once.
Example: "randseq(1, 10)" will return the numbers between 1 and 10 (both inclusive) in a random order.