#! perl -slw use strict; use Data::Dumper; my %ARGS; @ARGS{"uid", "company_name", "contact_name", "contact_phone_number"} = ("0001", "Acme Industries", "Arthur Dent", 555-1234 ); #<%init> use XML::Simple; my $xref = XMLin( join('',), keyattr=>'uid', keeproot=>1 ); my $newnode = {}; foreach my $kee ( "uid", "company_name", "contact_name", "contact_phone_number" ) { $newnode->{$kee} = $ARGS{$kee}; } $xref->{records}{record}{$ARGS{uid}} = { "company_name" =>$ARGS{"company_name"}, "contact_name"=>$ARGS{"contact_name"}, "contact_phone_number"=>$ARGS{"contact_phone_number"}, }; print XMLout( $xref, keeproot=>1, noattr=>1, keyattr=>'uid' ); # __DATA__ 0001 Acme Industries Arthur Dent 867-5309 0002 Zeta Industries Sam Lowry 555-5555 #### Sam Lowry 555-5555 Zeta Industries 0002 Arthur Dent -679 Acme Industries 0001