Thread exit() abfangen (12 answers)
Opened by bianca at 2016-08-27 09:02

GwenDragon
 2016-08-27 12:56
#185304 #185304
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
So gehts:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
my $sub_code = sub {
    say "bin im sub_code";
    eval "exit();";
};
say "jetzt soll exit() abgefangen werden";
*CORE::GLOBAL::exit = sub { say "exit() sub"; }; 
$sub_code->();
say "jetzt soll exit() wiederhergestellt werden";
*CORE::GLOBAL::exit = *CORE::exit;  
exit();
say "dieser Text darf nicht mehr zu sehen sein";

Das erzeugt dann die Ausgabe:
Code: (dl )
1
2
3
4
jetzt soll exit() abgefangen werden
bin im sub_code
exit() sub
jetzt soll exit() wiederhergestellt werden



Code angeregt durch http://grokbase.com/t/perl/perl5-porters/0295472rr...

Warum dort ein eval sein muss, weiß ich gerade auch nicht.
Last edited: 2016-08-27 16:48:03 +0200 (CEST)

View full thread exit() abfangen