【发布时间】:2011-04-06 04:51:38
【问题描述】:
好吧,我还是 Perl 的新手,所以这个问题的答案可能看起来相当明显,但是我在 Python 中做了一些工作,并且在学习 if、elsif 和else 循环;具体来说,它们不能正常工作。这是我的代码:
my $x = 0;
print "X has been set to ". $x .".\n";
while ($x<11)
{
$x++;
print "The value of x is now ". $x .".\n";
if ($x>4, $x<7){
print "Something\n";
system ("Pause");
}
elsif ($x>7, $x>11){ #<--Here
print "Something else\n";
system ("Pause");
}
elsif ($x==11){
print "Last line\n";
}
} #<-- and Here
system "Pause";
也许我的问题现在很明显,但如果不是,问题是它似乎没有在评估任何表达式;它只是打印它找到的第一个循环,在这种情况下是 if 循环。如果我删除它,或者注释掉它,它会直接进入第一个 elsif 循环;也就是说,无论 x 的值如何,它都会打印它找到的第一个循环,而无需任何类型的评估。当我添加时
use strict;
use warnings;
我收到警告 “在第 16 行的 void 上下文中无用使用数字 gt (>)”,第 24 行也是如此。我在原始代码中用箭头和这里。我在做/不做我应该做的事吗?
【问题讨论】:
标签: perl if-statement control-flow