复制代码 代码如下:

#!/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;


您可能感兴趣的文章:

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。