my @row; # construct a table header; store in @row push (@row, $self->_get_table_header(\@order)); # construct each table row; add to @row while (my $ref = $sth->fetchrow_hashref()) { # clean this up with named parameter calls? push (@row, $self->_get_table_row(\@order, $ref, $book, $rowcolor)); $rowcolor = ($rowcolor eq "lightrow" ? "darkrow" : "lightrow"); } $sth->finish(); print table ({width=>"95%"},-cellspacing=>"0"},@row);