YAPCでのmalaさんの発表をUSTで見ててちらっと出てきた Guard モジュール。 http://search.cpan.org/perldoc?Guard 以下の2つの関数を提供してくれる。 scope_guard このスコープを抜けたとき実行したいブロックを登録する。 以下ほぼSYNOPSYS。 sub foo { scope_guard { chdir "/" }; chdir "/etc"; // etcでゴニョゴニョ } こうすると、fooサブルーチンを抜ける時、scope_guardで登録された { chdir "/"} が実行される。 guard こちらは、guardが返すオブジェクトが破棄されるタイミングで登録されたブロックが実行される。 my $guard = guard { print "destroyed!\n" }; undef $guard; # proba

