See the current Perl documentation for rand.
Here is our local, out-dated (pre-5.6) version:
rand - retrieve the next pseudorandom number
Returns a random fractional number greater than or equal to
0 and less than the value of
(EXPR should be positive.) If
EXPR is omitted, the value
1 is used. Automatically calls srand() unless
srand() has already been called. See also srand().
(Note: If your rand function consistently returns numbers that are too large or too small, then your version of Perl was probably compiled with the wrong number of RANDBITS.)