while (/$regex/g) { push @buffer, [ substr($_, $last, $-[0]-$last), $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, ]; $last = $-[0]; }