¿Cómo puedo atrapar y manejar una señal en Perl?
Pregunta
¿Hay alguna forma de atrapar un error y salir con gracia de Perl? Estoy trabajando en un script que puede fallar debido a un evento SIG del sistema operativo u otras aplicaciones que se ejecutan en mi servidor. Deseo atrapar este evento, mostrar el error y salir después de cerrar todos los archivos y otros atributos que he abierto durante la ejecución del script.
Solución
Use el hash% SIG para instalar manejadores de señal. Ejemplo:
$ SIG {INT} = 'SigIntHandler';
Donde SigIntHandler es un sub que escribe para que se llame cuando se detecta una interrupción.
Otros consejos
Ver perldoc sigtrap .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow