C:\>perl -e "print qq(\xB5)" > data.bin
####
use strict;
use warnings;
use feature 'say';
use Encode qw/ _utf8_off _utf8_on is_utf8 /;
use utf8;
use Devel::Peek;
my $s1 = ' '; # a space (anything)
_utf8_on( $s1 ); # or assign not-ascii above, instead
my $s2 = $s1;
open my $fh, '<', 'data.bin';
binmode $fh;
sysread $fh, $s1, 1;
Dump $s1;
seek $fh, 0, 0;
$s2 = do { local $/; <$fh> };
Dump $s2;
##
##
SV = PVMG(0xc149ec) at 0xc20dec
REFCNT = 1
FLAGS = (PADMY,SMG,POK,pPOK,UTF8)
IV = 0
NV = 0
PV = 0xc15a1c "\302\265"\0 [UTF8 "\x{b5}"]
CUR = 2
LEN = 10
MAGIC = 0xc13ffc
MG_VIRTUAL = &PL_vtbl_utf8
MG_TYPE = PERL_MAGIC_utf8(w)
MG_LEN = -1
SV = PV(0x3f9f6c) at 0xc20f0c
REFCNT = 1
FLAGS = (PADMY,POK,pPOK)
PV = 0xc2e6a4 "\265"\0
CUR = 1
LEN = 10