in reply to Setting $! to custom values

What's wrong with die?
do {} or die $ERR{DO}; #Where %ERR is locale specific
See block eval.

--
I'm not belgian but I play one on TV.