Хорошо, я все еще новичок в Perl, поэтому ответ на этот вопрос может показаться довольно очевидным, но я немного поработал в Python и столкнулся с проблемой при изучении if, elsif иеще петли;в частности, что они не работают должным образом.Вот мой код:
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;
, я получил предупреждение "Бесполезное использование числового gt (>) в пустом контексте в строке 16 " и то же самое для строки 24. Я выделил ихв исходном коде со стрелками и тут.Я что-то делаю / не делаю что-то, чем я должен быть?