in reply to Re: Modifying pos() from within (?{...})
in thread Modifying pos() from within (?{...})

Oops, that * in the unpack template was redundant.

my @chunks = unpack '( (x4L X8Lx4/a L)> )*', $input; while ( my ($tag, $data, $crc) = splice(@chunks, 0, 3) ) { ... }