专家答疑 如何产生Perl随机数

开发 架构
本文向大家简单介绍一下如何产生Perl随机数,Perl利用函数rand()和srand()为随机数(更确切的说是“伪随机数”)字符串的生成提供了基本的工具。

本文和大家重点讨论一下Perl随机数的概念,如果你需要为你的下一个游戏或者动态Web网站的新特性设计一个简单的Perl随机数生成器,那么rand()和srand()可能就是你所需要的。

如何产生Perl随机数

Perl利用函数rand()和srand()为Perl随机数(更确切的说是“伪Perl随机数”)字符串的生成提供了基本的工具。这些函数不是利用加密来提供安全性的,所以不要利用它们为你金融信息的加密。但是,如果你需要为你的下一个游戏或者动态Web网站的新特性设计一个简单的Perl随机数生成器,那么rand()和srand()可能就是你所需要的。
函数rand()是真正的Perl随机数生成器,而srand()会设置供rand()使用的Perl随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。

要注意,使用同种子相同的数调用srand()会导致相同的Perl随机数序列被生成。这在有的时候很方便,尤其在游戏编程里,你可能想要重复让随机事件按照精确的相同序列出现。
像下面这样使用rand():
print"Yourluckynumberfortodayis:".int(rand(100)+1)."";

Perl随机数指令:rand
语法:rand($interger)
说明:常和函数srand搭配来取得一Perl随机数,如果没有先宣告stand函数的话,则取出的常数值是一个固定值。这个语法会返回一个介于0和$interger之间的数值,如果$interger省略的话,则会返回一个介于0和1的数值。

示例:
srand;#要先宣告srand函数,才能产生Perl随机数的效果
$int=rand(10);#$int的值会大于0而且小于10如果希望产生的乱数是整数的话,就要再加上int#这个函数
$int=int(rand(10));#$int的值是一个整数,且值在0和9之间
--------------------------
$int=rand(10);
$int=int(rand(10));
print"intis$int\n";
运行:
intis9
再次运行:
intis7
#可见rand取的是Perl随机数字

【编辑推荐】

 

  1. 深入学习Perl运算符用法
  2. Perl文件句柄概念详解
  3. 解析四大Perl操作符用法
  4. 专家推荐 几款常用Perl开发工具
  5. 学习笔记 Perl数字与字符串间的自动转换

 

责任编辑:佚名 来源: csdn.net
相关推荐

2009-06-11 15:16:18

不重复随机数Java

2010-02-01 17:02:53

C++产生随机数

2010-07-21 09:29:33

Perl常见问题

2010-10-25 16:29:45

Oracle随机数产生

2009-06-17 17:37:43

Java随机数

2009-12-08 12:58:33

PHP随机数类

2019-09-11 10:09:00

Java虚拟机算法

2009-07-06 15:11:18

Java 随机数

2024-11-01 15:51:06

2011-07-08 10:32:11

Objective-C 随机数

2011-05-24 17:08:57

rand()srand()

2017-05-29 09:56:25

2014-04-25 10:14:39

2009-12-02 17:01:01

PHP随机数rand()

2012-03-22 09:31:14

Java

2015-10-13 10:00:58

Swift随机数使用总结

2009-12-08 11:44:14

PHP获取随机数

2010-09-06 17:40:59

SQL函数

2021-12-27 09:31:20

HashtableJava随机数

2013-09-02 10:08:03

虚拟化核心应用
点赞
收藏

51CTO技术栈公众号