> 
> $ perl -e 'use open ":locale"; use encoding(latin2); print chr(260), "\n"'
> Ą
> $ perl -e 'use encoding(latin2); use open ":locale"; print chr(260), "\n"'
> "\x{12a9}" does not map to iso-8859-2 at -e line 1.
> panic: sv_setpvn called with negative strlen at -e line 1.

Which Perl?  With 5.8.5 I get Ą.

> "\x{12a1}" does not map to iso-8859-2.
> \x{12a1}
> 
> $ echo -e '\0241' | perl -e 'use open ":locale"; use encoding(latin2); print 
> ord(<>), "\n"'
> 260
> $ echo -e '\0241' | perl -e 'use encoding(latin2); use open ":locale"; print 
> ord(<>), "\n"'
> 196
> $ echo -e '\0241' | perl -e 'use open ":encoding(latin2)"; use encoding(latin2); 
> print ord(<>), "\n"'
> 260
> $ echo -e '\0241' | perl -e 'use encoding(latin2); use open ":encoding(latin2)"; 
> print ord(<>), "\n"'
> 260
> 
> 196 is the first byte of UTF-8 encoding of the Unicode character 260.
> I guess something forgot to turn on the UTF-8 flag.

Uhhh.  "use encoding(latin2)" hurts my eyes, please use instead e.g.
"use encoding 'latin2'".

With the patch I just sent to [EMAIL PROTECTED] for Perl 5.8.5,
these all seem to work as you expect.  The failure in the second one was
not the case of forgetting utf8, it was in fact one too many utf8s...

-- 
Jarkko Hietaniemi <[EMAIL PROTECTED]> http://www.iki.fi/jhi/ "There is this special
biologist word we use for 'stable'.  It is 'dead'." -- Jack Cohen

Reply via email to