<HTML dir=ltr><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2900.3492" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face="Courier New" color=#000000 size=2>Later he decided he wanted elements instead of attributes.&nbsp; :)</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>j</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>$ cat j.pl<BR>#!/usr/bin/perl<BR><BR>use strict;<BR>use XML::Twig;<BR>my $twig = XML::Twig-&gt;new(<BR>&nbsp;&nbsp; pretty_print =&gt; 'indented'<BR>)-&gt;parse('&lt;users/&gt;')-&gt;root;<BR><BR><BR>my @users = (<BR>&nbsp; { firstname =&gt; 'Jay',<BR>&nbsp;&nbsp;&nbsp; lastname =&gt; 'Hannah'<BR>&nbsp; },<BR>&nbsp; { firstname =&gt; 'Quentus',<BR>&nbsp;&nbsp;&nbsp; lastname =&gt; 'Rex'<BR>&nbsp; },<BR>);<BR><BR>foreach my $user (@users) {<BR>&nbsp;&nbsp; my $user_xml = XML::Twig::Elt-&gt;new('user');<BR>&nbsp;&nbsp; foreach my $att (keys %$user) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my $xml = XML::Twig::Elt-&gt;new($att, $user-&gt;{$att});<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $xml-&gt;paste( last_child =&gt; $user_xml );<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; $user_xml-&gt;paste( last_child =&gt; $twig );<BR>}<BR>print $twig-&gt;sprint;<BR><BR>$ perl j.pl<BR>&lt;users&gt;<BR>&nbsp; &lt;user&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;firstname&gt;Jay&lt;/firstname&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;lastname&gt;Hannah&lt;/lastname&gt;<BR>&nbsp; &lt;/user&gt;<BR>&nbsp; &lt;user&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;firstname&gt;Quentus&lt;/firstname&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;lastname&gt;Rex&lt;/lastname&gt;<BR>&nbsp; &lt;/user&gt;<BR>&lt;/users&gt;<BR></FONT></DIV><PRE><FONT size=2></FONT>&nbsp;</PRE></BODY></HTML>