in reply to Re^2: fork, %SIG, END.
in thread fork, %SIG, END.

I agree with that code block and think we are speaking towards the same thing. I use the local $? in my END block to preserve the exit code also.

I think I brought it up as an heads up because that bit me in the butt when I first started using the END block, I wasn't preserving the $? and therefore code inside the END block was causing it to be modified and the script not exiting with the value I wanted.