use Encode qw( decode FB_CROAK ); my $s_utf8 = "\xCC\xE5"; print("utf8::valid = ", utf8::valid($s_utf8)?1:0,"\n"); my $s_chars = eval { decode('UTF-8', $s_utf8, FB_CROAK) }; print("valid decode = ", defined($s_chars)?1:0,"\n"); #### utf8::valid = 1 valid decode = 0