LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2481|回复: 13

一个猜数perl脚本

[复制链接]
发表于 2003-11-30 13:31:48 | 显示全部楼层 |阅读模式
这个脚本是我的一个练习~~,挺有趣的,包括了必要的基础知识~~
  1. #!perl -w
  2. $rand=int(1 + rand 100);
  3. while (1) {
  4.         print "Please input number from 1 to 100:";
  5.         chomp($input=<>);
  6.         if ($input =~ /quit|exit|^\s*$/i) {
  7.         print "Sorry,You lose!\nThe rand-number is: $rand\n";
  8.         last;
  9.         } elsif ($input lt$rand) {
  10.                 print "Too small,Try input again!\n";
  11.         } elsif ($input eq $rand) {
  12.                 print "You win!\n";
  13.                 last;
  14.         }else {
  15.                 print "Tool large.Try input again!\n";
  16.         }
  17. }
复制代码
发表于 2003-11-30 15:14:53 | 显示全部楼层
有趣, 下次我得弄個mastermind 玩玩
发表于 2003-11-30 16:31:59 | 显示全部楼层
if ($input =~ /quit|exit|^\s*$/i) {

发现这里用if ($input =~ $rand ){ 代替也行,perl还能这样,真神阿。。。。就是觉的那数的范围好象变小了。:ask

/quit|exit|^\s*$/i 看不懂是什么意思?
发表于 2003-11-30 16:34:10 | 显示全部楼层
最初由 georgek 发表
有趣, 下次我得弄個mastermind 玩玩


等着你的脚本。。
 楼主| 发表于 2003-11-30 17:40:59 | 显示全部楼层
最初由 devel 发表

/quit|exit|^\s*$/i 看不懂是什么意思?

^\s*$:表示非空白字符的行, 注意^和$
/i:忽略大小写,
这是对你输入的字符进行测试~,如果你输入了字符而不是数字的话,会发生意想不到的后果,perl将你输入的字符解释成数字!
发表于 2003-11-30 18:47:10 | 显示全部楼层
谢谢!!!quit|exit|不懂,这里能用命令?
发表于 2003-11-30 18:51:34 | 显示全部楼层
感觉perl的matching和hashing的功能很强的说!
发表于 2003-11-30 18:53:40 | 显示全部楼层
是在找quit / exit
发表于 2004-3-5 16:59:42 | 显示全部楼层
$input =~ /quit|exit|^\s*$/i
查找quit 和exit 如果有的话就退出
发表于 2004-12-10 21:37:06 | 显示全部楼层
#/usr/bin/perl -w
$rand = int(1+rand 100);#使用随机函数rand得到一个整数放在$rand中
print (rand 100);
while(1) {#开始循环
        print "please input number from 1 to 100:";
        chomp($input = <>);#去掉输入整数末尾的enter字符
        if($input =~ /quit|exit|^\s*$/i) {#模式匹配如果输入quit or exit or 空格 则退出程序
        print "sorry, you lose! \n the rand-number is $rand \n";#退出程序输出随机数
        last;#退出程序
        }
        elsif($input lt $rand) {#条件判断
        print "you win!\n";
        last;
        }
        else {
        print "tool large . try input again!\n";
        }
}

注释了一下..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表