Hi, I am facing an issue with my script while creating a XML .
Below is required structure :- <opt> <rule disabled="false" logged="false"> <appliedToList> <appliedTo> <name>xyz</name> <isValid>true</isValid> <type>Distri</type> <value>123</value> </appliedTo> </appliedToList> </rule> </opt> However I am getting below o/p <opt> <rule name="appliedToList"> <appliedTo> <name>xyz</name> <isValid>true</isValid> <type>Distri</type> <value>123</value> </appliedTo> </rule> </opt> My current code is :- #!/usr/bin/perl use strict; use warnings; use FindBin qw(); use lib "$FindBin::Bin/../lib"; use IO::Handle; use XML::Simple; use Data::Dumper ; my $xmls = XML::Simple->new(ForceArray => 1); my $contents = { rule =>{appliedToList=> { appliedTo => [ ] } } }; push @{ $contents->{rule}->{appliedToList}->{appliedTo} }, { name => ['test'], value => ['123'], name => [ 'xyz' ], type => ['Distri'], isValid => [ 'true' ], }; open my $xml, '>', "output.xml" or die $!; $xml->print($xmls->XMLout($contents)); $xml->close(); Any insights on what I am doing wrong ? Regards, Punit