#!/usr/bin/perl -- use strict; use warnings; use XML::Simple; use Data::Dumper; my $xml = q~ ABC 1000 text1 40 text2 text3 ~; print $xml,$/; print Dumper( XMLin($xml)); # my $VAR1 = XMLin($xml); my $VAR1 = { 'lcns' => { 'lcns3' => { 'lcns' => 'text3' }, 'lcns2' => { 'ext' => '40', 'lcns' => 'text2' }, 'lcns1' => { 'ext' => '1000', 'lcns' => 'text1' } }, 'product_name' => 'ABC' }; # insert lcns4 $VAR1->{lcns}{lcns4} = { qw~ ext 10 lcns text4 ~ }; # edit existing entry lcns2 $VAR1->{lcns}{lcns2}{ext} = 50; $VAR1->{lcns}{lcns2}{lcns} = "new text2"; ## edit existing entry lcns2 $VAR1->{lcns}{lcns2} = { qw~ ext 50 lcns new text 2~ }; print XMLout($VAR1, NoAttr=>1,RootName=>'param',XMLDecl => 1, keyattr => []); __END__ ABC 1000 text1 40 text2 text3 $VAR1 = { 'lcns' => { 'lcns3' => { 'lcns' => 'text3' }, 'lcns2' => { 'ext' => '40', 'lcns' => 'text2' }, 'lcns1' => { 'ext' => '1000', 'lcns' => 'text1' } }, 'product_name' => 'ABC' }; 1000 text1 50 new 2 text3 10 text4 ABC