in reply to How to prevent Perl from exit when SIGUSR1 recieved?

Changing the while() to:
while (1) { sleep 1; }
Seems to do what you expect: multiple -USR1 are trapped and handled.