問題

我在Windows 7上執行ActiveState的32位 ActivePerl 5.14.2.我想用Git pre-commit鉤子來檢測正在檢查的程式與語法錯誤. (有時我剛設法做這樣一個不好的提交.)所以作為一個測試程式,我隨機記錄了這個:

 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