2
#!/usr/bin/env perl
use warnings;
use 5.012;
say "no semicolon"
say "World";
say "World";
say "World";
say "World";
say "World";
# syntax error at ./perl1.pl line 7, near "say"
# Execution of ./perl1.pl aborted due to compilation errors.
#!/usr/bin/env perl
use warnings;
use 5.012;
my $character = "\x{ffff}";
say "Hello";
say "Hello";
say "Hello";
say "Hello";
say "Hello";
# Unicode non-character 0xffff is illegal for interchange at ./perl1.pl line 5.
# Hello
# Hello
# Hello
# Hello
# Hello
爲什麼第二個腳本不告訴我,有一個編譯時錯誤?
當我不能 - 用「警告FATAL => qw(all);」 - 用Try :: Tiny或block-eval捕獲錯誤,我可以得出結論,它是編譯時錯誤嗎?
#!/usr/bin/env perl
use warnings FATAL => qw(all);
use 5.012;
use Try::Tiny;
my $character;
try {
$character = "\x{ffff}";
} catch {
die "---------- caught error ----------\n";
};
say "something";
# Unicode non-character 0xffff is illegal for interchange at ./perl1.pl line 9.
該程序已執行,因此程序中可能沒有編譯時錯誤...如果出現編譯時錯誤,程序將無法運行。 – tadmc 2011-02-27 01:02:31
如果我會問:「......,我可以得出結論嗎,它不是運行時錯誤,也不是運行時警告」,那可以嗎? – 2011-02-27 07:11:29