傳回一個大於或等於 0
且小於 EXPR 值的隨機分數。 (EXPR 應為正數。) 如果省略 EXPR,則使用值 1
。目前,值為 0
的 EXPR 也會特別視為 1
(這在 Perl 5.8.0 之前未記載,且可能會在未來的 Perl 版本中變更)。除非已呼叫 srand
,否則會自動呼叫 srand
。另請參閱 srand
。
如果您想要隨機整數,而不是隨機分數,請將 int
套用於 rand
傳回的值。例如,
int(rand(10))
會傳回介於 0
和 9
(含) 之間的隨機整數。
(注意:如果您的 rand 函式持續傳回過大或過小的數字,則可能是您的 Perl 版本使用錯誤的 RANDBITS 數量編譯的。)
rand
在密碼學上並不安全。您不應在對安全性敏感的情況下依賴它。在撰寫本文時,許多第三方 CPAN 模組提供由其作者預期在密碼學上安全的亂數產生器,包括:Data::Entropy、Crypt::Random、Math::Random::Secure 和 Math::TrulyRandom。