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.
my $num1 = rand(); # Random float at least 0 and below 1
my $num2 = rand(7); # Random float at least 0 and below 7
my $num3 = int(rand(10)); # Random integer at least 0 and below 10
Notes:
Calling rand
automatically calls srand
unless srand has already been called.
Currently EXPR with the value 0
is special-cased as 1
. This was undocumented before Perl 5.8.0 and is subject to change in future versions of Perl.
As of Perl v5.20.0 rand()
uses the drand48
pseudorandom number generator to generate random numbers. As a PRNG drand48
should be sufficient for most non-cryptographic needs. If you need cryptographic random numbers check CPAN for crypto safe alternatives.