in reply to Catching WINDOW close event and take actions
Your term - "failure cases" - is ambiguous. What you probably want to do is catch signals. See perldoc -q signals:
How do I trap control characters/signals? You don't actually "trap" a control character. Instead, that c +haracter generates a signal which is sent to your terminal's currentl +y foregrounded process group, which you then trap in your process. Signals are documented in + "Signals" in perlipc and the section on "Signals" in the Camel. You can set the values of the %SIG hash to be the functions you + want to handle the signal. After perl catches the signal, it looks +in %SIG for a key with the same name as the signal, then calls the subroutine value for th +at key. # as an anonymous subroutine $SIG{INT} = sub { syswrite(STDERR, "ouch\n", 5 ) }; # or a reference to a function $SIG{INT} = \&ouch; # or the name of the function as a string $SIG{INT} = "ouch"; Perl versions before 5.8 had in its C source code signal handle +rs which would catch the signal and possibly run a Perl function that + you had set in %SIG. This violated the rules of signal handling at that level causing per +l to dump core. Since version 5.8.0, perl looks at %SIG *after* the s +ignal has been caught, rather than while it is being caught. Previous versions of this answe +r were incorrect.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Catching WINDOW close event and take actions
by Anonymous Monk on Sep 15, 2011 at 21:32 UTC |