XML::Twig is too flexible, and too verbose. But it's really quite cool once you get it working ... You didn't give your original hash structure, so I pretended what it was.
Saved as "x":use strict; use XML::Twig; my $hash = { name => 'bob', value1 => 'blah', value2 => 'blah2', }; my $twig = XML::Twig->new(pretty_print => 'indented'); my $elt = create_element(newPhone => $hash); $twig->set_root($elt); $twig->print(); sub create_element { my $gi = shift; my $data = shift; my $t = XML::Twig::Elt->new($gi); if (ref $data) { while (my ($k,$v) = each(%$data)) { create_element($k, $v)->paste(last_child => $t); } } else { $t->set_text($data); } $t; }
Hope that helps.$ perl x <newPhone> <value1>blah</value1> <name>bob</name> <value2>blah2</value2> </newPhone>
In reply to Re: Outputting a hash as XML
by Tanktalus
in thread Outputting a hash as XML
by smeenz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |