autodie::Scope::GuardStack - 透過 %^H 管理範圍的掛鉤堆疊
use autodie::Scope::GuardStack;
my $stack = autodie::Scope::GuardStack->new
$^H{'my-key'} = $stack;
$stack->push_hook(sub {});
此類別是掛鉤堆疊,會在範圍消失時按正確順序呼叫。只有將堆疊插入 %^H
時才實用,且會在彈出其「範圍」時彈出掛鉤。這對於在實用程式超出範圍時解除或重新安裝名稱空間中的子常式很有用。
由於 %^H
的運作方式,此類別僅在 Perl 模組的編譯階段中實用,且仰賴 Perl 如何處理 %^H
中的參照的內部運作。此模組並非 autodie 公開 API 的一部分。
my $stack = autodie::Scope::GuardStack->new;
建立新的 autodie::Scope::GuardStack
。堆疊最初為空,且必須由建立者插入 %^H
。
$stack->push_hook(sub {});
將子常式新增到堆疊。當目前的編譯時間「範圍」結束時,將呼叫子常式。每個範圍可以新增多個掛鉤
版權所有 2013 年,Niels Thykier <niels@thykier.net>
此模組為免費軟體。您可以在與 Perl 相同的條款下散布它。