use strict;
use warnings;
use XML::Simple;
my $TGROUP = {
COLS => 4,
COLSPEC => [ 1, 2, 3, 4 ],
THEAD => { head => "head" },
TBODY => { body => "body" },
};
print "
\n";
for ( qw( COLS COLSPEC THEAD TBODY ) ) { # in your desired order
print XMLout( {$_ => $TGROUP->{$_}}, RootName => $_, KeepRoot => 1, NoATTR => 1 );
}
print "
\n";