in reply to Re: utf8::decode vs. Encode::decode with regard to the length function
in thread utf8::decode vs. Encode::decode with regard to the length function
Thanks for the response. Here's a more succinct example that demonstrates this issue in a different way.
#!/usr/bin/perl + use strict; use warnings; use Encode qw( ); my $orig = "\xE8\xAB\x86\x0A"; utf8::encode( my $enc_once = $orig ); utf8::decode( $enc_once ); print('length after first decode= ', length($enc_once), "\n"); utf8::decode( $enc_once ); print('length after second decode= ', length($enc_once), "\n"); # do it again but don't check the intermediate length utf8::encode( $enc_once = $orig ); utf8::decode( $enc_once ); utf8::decode( $enc_once ); print('length after second decode= ', length($enc_once), "\n");
Here's the output:
length after first decode= 4 length after second decode= 4 length after second decode= 2
Apparently checking the length before decoding again changes the result of calling length again, which I don't understand.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: utf8::decode vs. Encode::decode with regard to the length function
by dave_the_m (Monsignor) on Dec 03, 2010 at 12:32 UTC | |
by ikegami (Patriarch) on Dec 03, 2010 at 18:46 UTC | |
|
Re^3: utf8::decode vs. Encode::decode with regard to the length function
by ikegami (Patriarch) on Dec 03, 2010 at 16:59 UTC |