I considered that, but if %SIG breaks "common exit", then any subroutine or function call would, wouldn't? Assuming the handler doesn't terminate the process, a signal handler returns to the point where the block was left, so it's not more an exit that calling any other sub.