Attached is a sequence of patches relating to die(). It fixes RT #74538, along with moving more fully away from the historical requirement for exceptions be no more than strings. It also fixes the issue with $@ clobbering, which I've previously mentioned as a scoping/exception problem. An overall theme for the patches is that $@ is currently given too many jobs, some of them conflicting, so I've relieved it of some of them. There are some changes in Perl-visible behaviour here. All the ones I know about are intentional. No doubt someone will find some code that gets broken by it. Let the bun fight begin. Patches also available at git://lake.fysh.org/zefram/perl.git branch zefram/reliable_exception. -zeframThread Next