Try::Tiny
use Try::Tiny;
my $filename = 'notfound';
try {
open my $out, $filename
or die "Cannot open $filename";
} catch {
print STDERR "!!!!!!ERROR!!!!!!!\n";
print STDERR $_;
}
モダンな例外処理ぽい
try,catchっていう関数に
ブロック渡してる
Slide 24
Slide 24 text
Scope::Guard
use Scope::Guard;
open my $in, '/tmp/hoge';
my $guard = guard { close $in };
# do something ...
用が済んだら close $in が呼ばれる