Chinaunix

标题: 关于swich的错误 [打印本页]

作者: kairi    时间: 2007-09-10 18:09
标题: 关于swich的错误
my @array=<STDIN>;
until (scalar @array==0){
my $k=shift @array;
chomp($k);
swich ($k) {
      case ('1') { print 1; }
      case ('2') { print 2; }
      case ('3') { print 3 ; }
      case ('4') { print 4; }
      case ('5') { print 5; }
}
}

这代码哪里错了老显示
syntax error at Untitled line 9, near ") {"
syntax error at Untitled line 11, near ") {"
作者: wdavid    时间: 2007-09-10 18:12
switch
作者: kairi    时间: 2007-09-10 18:16
...改完后还是有错误
作者: wdavid    时间: 2007-09-10 18:41
在第一行加上: use Switch;
作者: cobrawgl    时间: 2007-09-10 19:33
lz 不会是看C语言的教材来学perl吧
作者: s5unty    时间: 2007-09-10 20:26
这是我知道的最接近 C 语法的形式,已经知足了:

switch: for ($where) {
    /Anywhere/ && do {
        ;
        last;
    };

   (/Foo/ ||
    /bar/)&& do {
        ;
        last;
    }

    # default
    die "unknown value for form variable where: ‘$where’";
}


[ 本帖最后由 s5unty 于 2007-9-10 20:27 编辑 ]
作者: magicsky    时间: 2007-09-10 21:38
use Switch;
作者: kairi    时间: 2007-09-11 09:49
谢7楼
作者: JasonLee8872    时间: 2007-09-11 20:00
不是感谢谁的问题,LZ应该知道Perl没有switch语句……
作者: kairi    时间: 2007-09-12 09:46
什么叫没有所以要加use switch么?
作者: formalin14    时间: 2007-09-12 10:51
perl本身没有switch, 使用第三方模块 use Switch;

switch是比较被大家诟病的一个控制结构, 所以perl去掉了它.

关于switch的缺点参见<C专家编程>一书.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2