my $raw = do { local $/; }; # inline slurp $raw =~ s/\s//g; print map { chr hex } unpack '(A2)*', $1 if $raw =~ m/0002000000(.*?)00020400/; #### Rate regex unpack regex 953336/s -- -38% unpack 1549170/s 62% --