use strict; use XML::Simple; use Data::Dumper; my $xs = new XML::Simple("KeepRoot" => 1); my $xml = $xs->XMLin("policies.xml", forcearray => 1, keyattr => ['policies']); my $new = { 'name' => "1", 'link_name' => "2", 'description' => "3", 'date' => "4" }; # Add to hash print Dumper($xml); $xml->{'policies'}->[0]->{'added'} = $new; print "Content-type: text/html\n\n"; # Sort hash #@{ $xml->{'policies'} } = sort { "\L$a->{name}" cmp "\L$b->{name}"} @{ $xml->{'policies'} }; print Dumper($xml); $xs->XMLout($xml, outputfile => "policies1.xml", attrindent => 1); ####