#!/usr/bin/perl -- use strict; use warnings; use Devel::Peek; use Data::Dump; use Encode; our $f = "K\366ln"; sub ff { dd($f); Dump($f); } ff ; $f = encode('iso-8859-1', $f); # bytes encoded as latin1 ff ; $f = encode('UTF-8', $f); # bytes encoded as utf8 ff ; $f = decode('UTF-8', $f); # unicode string ff ; __END__ "K\xF6ln" SV = PVNV(0xb18114) at 0x99b8f4 REFCNT = 1 FLAGS = (POK,pIOK,pNOK,pPOK) IV = 0 NV = 0 PV = 0xada504 "K\366ln"\0 CUR = 4 LEN = 12 "K\xF6ln" SV = PVNV(0xb18114) at 0x99b8f4 REFCNT = 1 FLAGS = (POK,pIOK,pNOK,pPOK) IV = 0 NV = 0 PV = 0xb2f424 "K\366ln"\0 CUR = 4 LEN = 12 "K\xC3\xB6ln" SV = PVNV(0xb18114) at 0x99b8f4 REFCNT = 1 FLAGS = (POK,pIOK,pNOK,pPOK) IV = 0 NV = 0 PV = 0xb2f3dc "K\303\266ln"\0 CUR = 5 LEN = 12 "K\xF6ln" SV = PVMG(0xacf3cc) at 0x99b8f4 REFCNT = 1 FLAGS = (SMG,POK,pIOK,pNOK,pPOK,UTF8) IV = 0 NV = 0 PV = 0xb26374 "K\303\266ln"\0 [UTF8 "K\x{f6}ln"] CUR = 5 LEN = 12 MAGIC = 0xae478c MG_VIRTUAL = &PL_vtbl_utf8 MG_TYPE = PERL_MAGIC_utf8(w) MG_LEN = 4