in reply to Re: Re: BEGIN, eval {} and $^S
in thread BEGIN, eval {} and $^S

I think you'll have to pass that state to yourself via a global. How about something like $^S_FOR_REAL_AND_FOR_TRUE? You'd set it to something true prior to entering eval-string and clear it afterwards. You can inspect that during $SIG{__DIE__}.