Почему в Perl есть «elsif», а не «elseif»?
Я делаю что-то вроде этого:
$somevariable = 0;
if ($idcount==5)
{
# Do something
if (somestatement is true) # 1
{
$somevariable = 1;
}
}
elsif ($idcount > 1 && somevariable = 0)
{
# Do something else here
}
Код никогда не приходит к оператору elsif. В этом случае idcount
на самом деле равно 5, поэтому речь идет о первом операторе if. Но внутреннее утверждение if
(1) неверно, поэтому $somevariable
по-прежнему равно 0. Поскольку idcount
равно 5, оно также должно прийти к elsif
, поскольку $idcount
больше 1, а $somevariable
по-прежнему равно 0.
Может быть, я просто устал и не вижу чего-то очевидного.