in reply to XML::Simple "transforming data"
The solution is actually just posted above - use ForceArray => 1 when you do XMLin(); The mechanism is as my title suggested: as long as you force a reference out of the value, that value will be treated as element instead of attribute when XMLout writes it out.
Here's the set of options that I found the best (for my usage, and probably for general usage) for XML::Simple:
Hope it helps.my $obj = XMLin($filename, ForceArray => 1, ForceContent => 1, KeepRoo +t => 1, ContentKey => '_c', KeyAttr => ); open(OUT, ">$filename-1"); print OUT XMLout($obj, KeepRoot => 1, ContentKey => '_c', KeyAttr => [ +]);
In Section Seekers of Perl Wisdom