当前位置 博文首页 > perl 中的or与||的区别

    perl 中的or与||的区别

    作者:admin 时间:2021-02-06 18:20

    来看看下面的代码会输出什么?

    复制代码 代码如下:

    my $a = 0;
    $a = $a or 1;
    print $a, "\n";
    $a = $a || 1;
    print $a, "\n";

    输出:
    0
    1
    为什么呢?因为||, =, or 这三者优先级从左至右逐渐降低。
    所以,这样写可以:
    chomp(my $filename = shift( @ARGV ) || <STDIN>);

    这样则不行:
    chomp(my $filename = shift( @ARGV ) or <STDIN>);
    会提示如下错误:
    Can't modify logical or (||) in chomp

    js
下一篇:没有了