in reply to utf8::decode vs. Encode::decode with regard to the length function
use strict; use warnings; use feature qw( say ); use Encode qw( ); my $orig = "\xE8\xAB\x86\x0A"; utf8::encode( my $enc_once = $orig ); utf8::encode( my $enc_twice = $enc_once ); say('length = ', length($orig)); { say("Using utf8::decode"); utf8::decode( my $dec_once = $enc_twice ); utf8::decode( my $dec_twice = $dec_once ); say('length = ', length($dec_twice)); say($orig eq $dec_twice ? 'ok' : 'not ok'); } { say("Using Encode::decode"); my $dec_once = Encode::decode('UTF-8', $enc_twice); my $dec_twice = Encode::decode('UTF-8', $dec_once); say('length = ', length($dec_twice)); say($orig eq $dec_twice ? 'ok' : 'not ok'); }
length = 4 Using utf8::decode length = 4 ok Using Encode::decode length = 4 ok
Works fine for me, both ways.
I'll take your word for it that you are experiencing a problem, but I'm not going to comb through the hundreds of lines you posted to find what it is. If this doesn't help, please post a minimal demonstration of the problem.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: utf8::decode vs. Encode::decode with regard to the length function
by Anonymous Monk on Dec 03, 2010 at 00:01 UTC | |
by dave_the_m (Monsignor) on Dec 03, 2010 at 12:32 UTC | |
by ikegami (Patriarch) on Dec 03, 2010 at 18:46 UTC | |
by ikegami (Patriarch) on Dec 03, 2010 at 16:59 UTC |