in reply to A puzzle for parsing XML with XML::Simple!

The thing to be aware of in this case is to the following note on the module documentation.
Note 1: The default value for 'KeyAttr' is ['name', 'key', 'id']. If y +ou do not want folding on input or unfolding on output you must setti +ng this option to an empty list to disable the feature.
So, since you have an element named 'name', XML::Simple does that grouping trick.
What you need to do is to set KeyAttr to an empty list
my $xml = XML::Simple->new(KeyAttr=>[]);