my @rows = ( [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ], [ 9, 10, 11, 12 ], ); print table({-border=>1},Tr([ th(['Document', 'X', 'Y', 'Z']), map { td([ map { a({-href=>$_},$_) } @$_ ]) } @rows ]) );