unless ($$buffer =~ m/^H=(?>\d+);/) { confess "$rec_num was missing the header prefix m/^H=\\d+;/: $$buffer"; } my $header_length = substr $$buffer, 2, $+[0]-3; # vs unless ($$buffer =~ m/^H=((?>\d+));/) { confess "$rec_num was missing the header prefix m/^H=(\\d+);/: $$buffer"; } my $header_length = $1;