document : checkpoint address report(s?) doctrailer report : report1 | report2 | report3 | ... report1 : lt[100] report1_cost_centre(s?) lt[200] report1_cost_centre : lt[300] report1_txn(s?) lt[400] report1_txn : lt[500] lt[600] page_break(?) lt[700] lt : "" lt_data lt_data : /[^\\]*/ lt_end {$return = $item{__PATTERN1__} ...