#!/usr/bin/perl use strict; use warnings; my %foo = ( Info => [ { MakeEng => 1, MakeFre => 2, ModelEng => 3, ModelFre => 4, ModelYear => 5, }, { MakeEng => 6, MakeFre => 7, ModelEng => 8, ModelFre => 9, ModelYear => 0, }, ], VIN => { VINStatus => 'active', VechileDT => 'on', }, ); foreach my $table (keys %foo) { print '

', $table, '

', "\n"; print "\n"; if (ref $foo{$table} eq 'HASH') { print '\n" foreach (keys %{$foo{$table}}); } elsif (ref $foo{$table} eq 'ARRAY') { print ''; print '' foreach (keys %{$foo{$table}[0]}); print "\n"; foreach my $row (@{$foo{$table}}) { print ''; print '' foreach (values %{$row}); print "\n"; } } else { print "\n"; } print "
', $_, '', $foo{$table}{$_}, "
', $_, '
', $_, '
Badness. Something unexpected in %foo
\n\n"; } exit;