perl函数忽略小括号调用的坑!坑!真坑!

my $csvfile='不存在的文件';

open my $CSV, $csvfile) or die "Can't open $csvfile";  # 符合预期,报错、退出

open my $CSV, $csvfile   || die "Can't open $csvfile";   # ???????????????????? 错误,竟然 继续运行了!

什么鬼?!

其实:open (my $CSV, $csvfile)   || die "Can't open $csvfile"; # 就正常了。

 

原因是 || 优先级高,甚至高于省略函数的小括号调用后的 “,”!

所以啊,为了明确、清晰,能用小括号就不要忽略它!

 

posted on 2024-11-26 10:55  jinzhenshui  阅读(2)  评论(0编辑  收藏  举报