Hi all, Would somebody please show some light on what's happening here.
I'm trying to parse a sample xml file like below <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <config> <type name="default"> <report>Dummy1</report> </type> <type name="scenario1"> <report>Dummy2</report> </type> </config> When i run to parse with a sample script like below use XML::Simple; use Data::Dumper; my $lXMLFile = "$ENV{'PWD'}/xmlsample.xml"; my $Config = XMLin($lXMLFile); print Dumper($Config); I'm getting proper result $VAR1 = { 'type' => { 'scenario1' => { 'report' => 'Dummy2' }, 'default' => { 'report' => 'Dummy1' } } }; BUT if my xml contains only one <type> tag <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <config> <type name="default"> <report>Dummy1</report> </type> </config> "default" is not becoming a key like above instead it comes along with "report" key....See the wrong output below.. $VAR1 = { 'type' => { 'report' => 'Dummy1', 'name' => 'default' } }; I was just wondering why this is behaving differently when we have two tags of <type> and when we have only one tag of <type> Would somebody please help me on this. I would like to have an output like below even if we are having one row. Am i missing something :( $VAR1 = { 'type' => { 'default' => { 'report' => 'Dummy1' } } }; Cheers and Thanks alot Jins Thomas