神剑山庄资源网 Design By www.hcban.com

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

复制代码 代码如下:
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

标签:
or

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“perl 中的or与||的区别”

暂无perl 中的or与||的区别的评论...