You are viewing the version of this documentation from Perl 5.8.6. View the latest version
rand EXPR

Returns a random fractional number greater than or equal to 0 and less than the value of EXPR. (EXPR should be positive.) If EXPR is omitted, the value 1 is used. Currently EXPR with the value 0 is also special-cased as 1 - this has not been documented before perl 5.8.0 and is subject to change in future versions of perl. Automatically calls srand unless srand has already been called. See also srand.

Apply int() to the value returned by rand() if you want random integers instead of random fractional numbers. For example,


returns a random integer between 0 and 9, inclusive.

(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.)