in reply to Problem traversing nested nodes XML::Simple

Elaborating a bit on mscharrer's point, I also added use diagnostics; and ran your script. This generated the following warning:
Pseudo-hashes are deprecated at ... (D deprecated) Pseudo-hashes were deprecated in Perl 5.8.0 and th +ey will be removed in Perl 5.10.0, see perl58delta for more details. You can continue to use the fields pragma.

which pointed to your line:

foreach my $key ( keys %{$library->{place}} )

I understand that this is not the root of your problem, but it does underscore the usefulness of the warnings/strict/diagnostics pragmas in helping you to debug your code. Of course, if you are using an older version of perl, you probably would not have seen this message.