perl – 为什么这个程序有效?我试图创建语法错误

前端之家收集整理的这篇文章主要介绍了perl – 为什么这个程序有效?我试图创建语法错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Windows 7上运行32位ActiveState 5.14.2。我想用一个git预提交钩子来检测正在使用语法错误检查的程序。 (不知何故,我只是设法做这样一个糟糕的提交。)所以作为一个测试程序我随机地记录了这:
use strict;
use warnings;

Syntax error!

exit 0;

然而,它编译和执行没有警告,退出时errorlevel为零。这个有效的语法如何?

解决方法

Perl有一个称为“间接方法符号”的语法。它允许
Foo->new($bar)

写成

new Foo $bar

所以这意味着

Syntax error ! exit 0;

是相同的

error->Syntax(! exit 0);

要么

error->Syntax(!exit(0));

它不仅是有效的语法,它不会导致运行时错误,因为执行的第一件事是exit(0)。

猜你在找的Perl相关文章