Comment: Re:My advice… (Score 1) on 2009.09.25 6:15
Attached to: I need some Unicode examples for Effective Perl Programming
$ mate ~/Desktop/adam.txt
$ adam=$(<~/Desktop/adam.txt)
$ xxd ~/Desktop/adam.txt
0000000: c480 6461 6d0a ..dam.
$ perl -MDevel::Peek -le 'Dump $ARGV[0]' $adam
SV = PV(0x801168) at 0x800954
REFCNT = 1
FLAGS = (POK,pPOK)
PV = 0x2044f0 "\304\200dam"\0
CUR = 5
LEN = 8
$ perl -MDevel::Peek -CA -le 'Dump $ARGV[0]' $adam
SV = PV(0x801168) at 0x800954
REFCNT = 1
FLAGS = (POK,pPOK,UTF8)
PV = 0x2044f0 "\304\200dam"\0 [UTF8 "\x{100}dam"]
CUR = 5
LEN = 8
Actually, my problem was with Java, but the same principle applies.
$ export adam
$ perl -MDevel::Peek -le 'Dump $ENV{adam}'
SV = PVMG(0x80a4c0) at 0x800b40
REFCNT = 1
FLAGS = (SMG,RMG,POK,pPOK)
IV = 0
NV = 0
PV = 0x2057d0 "\304\200dam"\0
CUR = 5
LEN = 8
MAGIC = 0x2057e0
MG_VIRTUAL = &PL_vtbl_envelem
MG_TYPE = PERL_MAGIC_envelem(e)
MG_LEN = 4
MG_PTR = 0x205800 "adam"
$ perl -MDevel::Peek -CA -le 'Dump $ENV{adam}'
SV = PVMG(0x80a4c0) at 0x800b40
REFCNT = 1
FLAGS = (SMG,RMG,POK,pPOK)
IV = 0
NV = 0
PV = 0x2057d0 "\304\200dam"\0
CUR = 5
LEN = 8
MAGIC = 0x2057e0
MG_VIRTUAL = &PL_vtbl_envelem
MG_TYPE = PERL_MAGIC_envelem(e)
MG_LEN = 4
MG_PTR = 0x205800 "adam"
This is all on perl 5.8.8, BTW. It may be fixed in later versions.
