my ($table, $page, $array); while skipping through the data setting $object { $page = $pdf->page; $table = new PDF::Table $array = [] skip through data for $object setting $item and $data { process the data a little push $array,[$item,$data] } $table->table( set up table using $array ) }