my @column_names = "col1" .. "col3"; my @values = "val1" .. "val6"; my @td = [ @column_names ]; push @td, [ splice @values, 0, scalar @column_names ] while @values; print "\n"; for my $i (0 .. $#column_names) { print "", map("", @td), "\n"; } print "
$_->[$i]
\n";