你应该使用’||’或低优先级“或”在报告Perl中的错误时?

栏目: Perl · 发布时间: 7年前

内容简介:http://stackoverflow.com/questions/14893161/should-you-use-or-lower-precedence-or-when-reporting-an-error-in-perl
在阅读最新版本的 The Camel Book

时,我受到以下p522代码片段的冲击:

use Fcntl ":flock";
eval {
    local $SIG{ALRM} = sub { die "alarm clock restart" };
    alarm 10;               # schedule alarm in 10 seconds
    eval {
        flock(FH, LOCK_EX)  # a blocking, exclusive lock
            || die "can't flock: $!";
    };
    alarm 0;                # cancel the alarm
};
alarm 0;               # race condition protection
die if $@ && $@ !~ /alarm clock restart/; # reraise

我被教导你应该总是使用低优先逻辑OR运算符’或’优先于逻辑OR运算符’||’.

在这本书中进一步看,我看到很多其他使用相同逻辑的例子.

规则或优先级别有所改变吗?

或者是处理’||’和“or”在以后版本的 Perl 中有所改变? (不幸的是,由于遗留代码,我们焊接到5.6.1 atm).

||的优先级还是没有改变.使用||如果你没有在功能属性周围使用括号,那么die会有点危险,考虑一下

flock FH, LOCK_EX || die "can't flock: $!"; # WRONG!

这就是为什么有些人喜欢或控制结构.带括号,没有区别.

http://stackoverflow.com/questions/14893161/should-you-use-or-lower-precedence-or-when-reporting-an-error-in-perl


以上所述就是小编给大家介绍的《你应该使用’||’或低优先级“或”在报告Perl中的错误时?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

企业应用架构模式

企业应用架构模式

Martin Fowler、王怀民、周斌 / 王怀民、周斌 / 机械工业出版社 / 2004-7 / 49.00元

本书作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。本书获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。本书分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是本书的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并一起来看看 《企业应用架构模式》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器