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

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

内容简介: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中的错误时?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Windows黑客编程技术详解

Windows黑客编程技术详解

甘迪文 / 人民邮电出版社 / 2018-12 / 108

《Windows黑客编程技术详解》介绍的是黑客编程的基础技术,涉及用户层下的Windows编程和内核层下的Rootkit编程。本书分为用户篇和内核篇两部分,用户篇包括11章,配套49个示例程序源码;内核篇包括7章,配套28个示例程序源码。本书介绍的每个技术都有详细的实现原理,以及对应的示例代码(配套代码均支持32位和64位Windows 7、Windows 8.1及Windows 10系统),旨在......一起来看看 《Windows黑客编程技术详解》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试