use XML::Simple qw(XMLout); $samstr = source=>[{abc=>[{uname=>[$VAR1],dbcrdn=>[$VAR2],paridn=>[$VAR3],osath=>[$VAR4],}] $xmlstr = "{".$samstr."}"; print XMLout($xmlstr,RootName => "root"); #### $xmlstr = { source=>[{abc=>[{uname=>["USER"],dbcrdn=>["PWD"],paridn=>["XYZ"],osath=>["0"],}] } print XMLout($xmlstr,RootName => "root");