Thread Mitbekommen, wenn ein Block verlassen wird?
(4 answers)
Opened by Muffi at 2012-11-29 17:00
Gibts in Perl eine Möglichkeit mitzukriegen, wenn ein Codeblock verlassen wird?
DESTROY bei Objekten muss ja nicht zeitnah aufgerufen werden. Das was ich mir mal zusammengezimmert hab war: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 package TIE; sub TIESCALAR { my $class = shift; my $code = shift; return bless \$code => $class; } sub DESTROY { ${$_[0]}->(); undef ${$_[0]}; } package BlockExit; sub do { my $var; tie $var, 'TIE', shift; return \$var; } package main; if (1) { my $onExit = BlockExit::do(sub { say "RAUS!"; }); say "DRIN"; } say "DRAUSSEN"; Aber schön sieht auch irgendwie anders aus. Und ich wär mir nicht mal sicher, ob das zwingend zeitnah passieren muss. Weiss das wer? 1 + 1 = 10
|