Perl If和Elsif循环帮助
好吧,我还是Perl的新手,所以这个问题的答案似乎相当明显,但我在Python中做了一些工作,在学习if、elsif和else循环时遇到了一个问题;特别是,它们不能正常工作。这是我的密码:Perl If和Elsif循环帮助,perl,if-statement,control-flow,Perl,If Statement,Control Flow,好吧,我还是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){ p
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";
我在第16行得到警告“在无效上下文中无用地使用数值gt(>)”,第24行也是如此。我在原始代码中用箭头和此处标记了这些。我正在做什么/没有做我应该做的事情吗?如果(expr1,expr2)
将忽略expr1
。你是指和还是&&
?(同样,如果是这样,您的elsif
应该测试x使用严格的;
使用警告;
而($x4和$x7和$x>11){#谢谢你的帮助。对不起,是的,它应该已经测试过了。我没有正确地键入它。不完全正确。它将执行expr1
并丢弃结果。然后它将执行expr2
,并将其结果用于if
条件。如果在表达式和reserve和/或for flow中使用&&/| Perl,效果会更好控制
use strict;
use warnings;
use strict;
use warnings;
while ($x<11)
{
$x++;
print "The value of x is now ". $x .".\n";
if ($x>4 and $x<7){
print "Something\n";
system ("Pause");
}elsif ($x>7 and $x>11){ #<--Here
print "Something else\n";
system ("Pause");
}elsif ($x==11){
print "Last line\n";
}
} #<-- and Here
system "Pause";