MyBack 2013-03-20
代码如下:
#!/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;