local $@ ちゃんの 5.14 での挙動
以下のようなコードが 5.14 からちゃんと die するようになっているっぽい。しらなんだ。
それ以前だと、エラーが握りつぶされて僕らが死ぬ。
use strict;
use warnings;
sub foo {
local $@;
eval { die "oops!" };
die $@ if $@;
}
sub bar {
local $@;
eval { foo() };
die $@ if $@;
}
bar();