in reply to Re: XML::Simple conflicts with $SIG{__DIE__}
in thread XML::Simple conflicts with $SIG{__DIE__}

All is clear, many thanks perrin!

The problem is that XML::Parser::Expat does something which it is fully aware is potentially dubious, which is why it is within an eval(). Now normally die() would just set $@ and all would be well, but the custom $SIG{__DIE__} handler was printing out the error XML::Parser::Expat wanted kept quiet, which was the cause of my confusion.

Here's a *very* simplified version of what was going on

use strict; $SIG{__DIE__} = sub { print "something went wrong - $_[0]\n" }; eval { my $lexvar = *{"a string"}{IO}; }; # exceptions, shmexcetpions undef $@;
So while any potential error was intentionally ignored, the custom $SIG{__DIE__} handler was announcing this FUD to the world.

broquaint