perl - elif 在 Perl 中是如何工作的?

标签 perl conditional

为什么 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。

也许我只是累了,没有看到明显的东西。

最佳答案

不,任何在 elsif 中的东西只有在之前的 if/elsif 条件都不为真时才有机会被执行,这就是它的“其他”部分。

如果您希望两者都被评估,只需将其设为 if而不是 elsif .

关于perl - elif 在 Perl 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/659553/

相关文章:

iphone - 如果没有更好的代码检查方式,我该如何编写呢?

perl - 需要解释在 Perl 中读取 "config"文件

html - 我可以专门为 Mac 浏览器编写 CSS 代码吗?

c++ - enable_if 中的短路运算符

python - 列表理解中的动态自引用条件

Excel创建多重条件排名

postgresql - Perl DBIx::Class:从数据库获取当前时间

regex - 调试 Perl 正则表达式

java - 如何使用 Java 运行 Perl 文件?

perl - 为什么打印 ($a = a..c) 产生 : 1E0