my @names = @{ $sth->{NAME} }; my @ordered_values = (); my %xml_hash = ( dataset => [] ); while ( my $row = $sth->fetchrow_arrayref ) { @ordered_values = @{$row}{@names}; <----Can't coerce array into hash HERE } my $cgi = CGI->new; print $cgi->header('text/xml'); my $testxml = XMLout( \@ordered_values, NoAttr => 1, RootName => 'dataset', ); print $testxml;