#!perl use XML::Simple; use Data::Dumper; my $xmlSimple = new XML::Simple(KeepRoot => 1); my $professionsXML = $xmlSimple->XMLin("data/misc/test.xml"); print Dumper($professionsXML); print qq(0.1: $professionsXML{'profs'}{'name'}\n); print qq(0.2: $professionsXML{'profs'}{'profcats'}{'name'}\n); foreach my $key (keys %{$professionsXML}) { print qq(1: $key\n); foreach my $key2 (keys %{$professionsXML{$key}}) { print qq(2: $key2\n); foreach my $key3 (keys %{$professionsXML{$key}{$key2}}) { print qq(3: $key3\n); foreach my $key4 (keys %{$professionsXML{$key}{$key2}{$key3}}) { print qq(4: $key4\n); } } } } exit(0); #### prof cat group prof1 #### C:\Utils\Apache\Apache-httpd-2.2\cgi-bin>perl generate03.pl $VAR1 = { 'profs' => { 'profcats' => { 'profcatgroups' => { 'name' => 'group', 'profcatgroup' => { 'name' => 'prof1' } }, 'name' => 'cat' }, 'name' => 'prof' } }; 0.1: 0.2: 1: profs 2: profcats C:\Utils\Apache\Apache-httpd-2.2\cgi-bin>