my $binary = pack 'F*', (3.141592) x 10; # make binary vector of length 80 bytes
my $string = '...blah...' . $binary . '...blah...';
my ($fiop, $length, $data)
= $string =~ m{ # end: start file tag
((??{ "\\C{$2}" })) # self modifying regex for binary stuff
# end: file tag
}sx;
print "$fiop, $length (data comes below)\n";
print join ',', unpack("F*", $data); # extract binary data again
(my $notags = $string) =~ s{}{};
print "\n$notags\n";