Windows7でActiveStateの32ビットActivePerl5.14.2を実行しています。構文エラーでチェックインされているプログラムを検出するために、Gitのpre-commitフックをいじりたいと思いました。(どういうわけか私はなんとかそのような悪いコミットをすることができました。)それで私はテストプログラムとしてこれをランダムに書きました:
use strict;
use warnings;
Syntax error!
exit 0;
ただし、警告なしでコンパイルおよび実行され、終了時のエラーレベルはゼロです。この有効な構文はどうですか?
Perlには、「間接メソッド表記」と呼ばれる構文があります。それは可能にします
Foo->new($bar)
として書かれる
new Foo $bar
つまり、
Syntax error ! exit 0;
と同じです
error->Syntax(! exit 0);
または
error->Syntax(!exit(0));
有効な構文であるだけでなく、最初に実行されるのはであるため、実行時エラーは発生しませんexit(0)
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加