for (1..1000) { my @rows = (); push @rows, Tr( map { td($_) } 'a'..'d' ); push @rows, Tr( map { td($_) } 'e'..'h' ); my $var = table(@rows); } sub table { my @rows = @_; return "\n@rows
\n";} sub Tr { my @cells = @_; return "@cells\n"; } sub td { my $cell = shift; return "$cell"; }