$|=1; $_code=' sleep 1, print for (1..100)'; eval { local $SIG{ INT } = sub{die;}; eval $_code }; print "after interrupt"; eval $_code; # again w/o wrapper