in reply to Understanding pack and unpack changes for binary data between 5.8 and 5.10

It really depends on how you open the file. The best way in 5.8+ is probably
# Raw buffered handle. open(my $fh, '<:perlio', $qfn) or die("open $qfn: $!\n");

For compatibility with 5.6, you'd use

open(my $fh, '<', $qfn) or die("open $qfn: $!\n"); binmode($fh);

In both case, you only get bytes, so "C" is perfectly acceptable.