Thread Problem mit Filehandle im END Block
(8 answers)
Opened by PROXEN at 2014-08-04 20:23
Hallo,
wenn du nochmal diesen Code ausführst und bei Pause mit STRG+C beendest, wirst du sehen, dass im END Block nichts ins File geschrieben wird und der Filehandle nicht geschlossen werden kann. Ich verwende einen anderen Ansatz und möchte print auch im END Block verwenden und zwischen diesen Filehandels mit select hin und her wechseln sonst muss ich immer im print umständlich das Filehandle mit angeben. thx proxen 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 $SIG{INT} = \&interrupt; open LOGFILE, "|-", "tee some_file.out"; LOGFILE->autoflush(1); select LOGFILE; print "fileconsole!\n"; print "pause\n"; my $in = <STDIN>; select STDOUT; print "console1\n"; die; sub interrupt { print "Caught a control c!\n"; die; } END { if(fileno(LOGFILE)){ print "close logfile\n"; close(LOGFILE) or warn; } } |