Есть ли способ отловить ошибку и изящно выйти из Perl? Я работаю над сценарием, который может произойти сбой из-за события SIG из ОС или других приложений, работающих на моем сервере. Я хочу перехватить это событие, отобразить ошибку и выйти после закрытия всех файлов и других атрибутов, которые я открыл во время выполнения скрипта.
Используйте хеш% SIG для установки обработчиков сигналов. Пример:
$ SIG {INT} = 'SigIntHandler';
Где SigIntHandler - это подпрограмма, которую вы пишете, чтобы вызывать ее при обнаружении прерывания.
См. perldoc sigtrap .