How can I catch and handle a signal in Perl?
Question
Is there any way to trap an error and exit gracefully from Perl? I am working on a script which might fail due to a SIG event from the OS or other applications running on my server. I wish to trap this event, display the error and exit after closing all files and other attributes I have open during the execution of the script.
Solution
Use the %SIG hash to install signal handlers. Example:
$SIG{INT} = 'SigIntHandler';
Where SigIntHandler is a sub that you write to be called when an interrupt is caught.
OTHER TIPS
See perldoc sigtrap.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow