Perl If和Elsif循环帮助

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

好吧,我还是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";
我在第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";