perl写的一个随机编故事的程序(rand随机函数)_perl教程-查字典教程网
perl写的一个随机编故事的程序(rand随机函数)
perl写的一个随机编故事的程序(rand随机函数)
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#!/bin/perlusestrict;usewarnings;#定义变量my$count;my$input;my$nu...

复制代码 代码如下:

#!/bin/perl

use strict;

use warnings;

#定义变量

my $count;

my $input;

my $number;

my $sentence;

my $story;

#定义四个数组

#定义了人物数组

my @nouns=

(

'Dad',

'TV',

'Mom',

'Groucho',

'Rebecca',

'Harpo',

'Robin Hood',

'Joe and Moe',

);

#定义了动作数组

my @verbs=

(

'ran to',

'giggled with',

'put hot sauce into the orange juice of',

'exploded',

'dissolved',

'dissolved',

'sang stupid songs with',

'jumped with',

);

#定义了地点数组

my @prepositions=

(

'at the store',

'over the rainbow',

'at the beach',

'before dinner',

'in New York City',

'in a dream',

'around the world',

);

do

{

#每次运行以前,清空$story的内容

$story='';

#以下是随机组合生成故事

for ($count =0;$count<6;$count++)

{

#我们划分一下结构,scalar @nouns 是获取@nouns数组元素的个数,然后用rand总这几个数中随机生成几个,最后int是将得到的数取整

$sentence =$nouns[int(rand(scalar @nouns))]

." "

.$verbs[int(rand(scalar @verbs))]

." "

.$nouns[int(rand(scalar @nouns))]

." "

.$prepositions[int(rand(scalar @prepositions))]

.'.';

$story .=$sentence;

}

print "n",$story,"n";

print "nType "quit"to quit, or press Enter to continue:";

$input=<STDIN>;

}

#这里是利用正则表达式来匹配首字符是q的字符串,如果有,那么就退出,/^是匹配起始位置,/i是不区分大小写

until ($input=~/^s*q/i);

exit;

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新perl学习
    热门perl学习
    脚本专栏子分类