Actually, auto-vivification of hash entries doesn't happen unless you do something like take a reference to the hash entry... for example by referring to something more deeply nested in the non-existent hash entry:
#!/usr/bin/perl -l
my %hash;
my $foo = $hash{'foo'};
print exists $hash{'foo'} ? "yes" : "no"; # prints "no"
my $bar = $hash{'bar'}->{'xxx'};
print exists $hash{'bar'} ? "yes" : "no"; # prints "yes"
my $baz = \$hash{'baz'};
print exists $hash{'baz'} ? "yes" : "no"; # prints "yes"
-- Mike
--
XML::Simpler does not require XML::Parser or a SAX parser.
It does require File::Slurp.
-- grantm, perldoc XML::Simpler