perl-unicode

Re: Weird behavior of encoding & open pragmas

2004-08-17 15:30:07
Marcin 'Qrczak' Kowalczyk wrote:

$ perl -e 'use encoding "ISO-8859-2"; use open ":encoding(ISO-8859-2)"; print 
ord($ARGV[0]), chr(260), $ARGV[0], "\n"' Ą
"\x{00a1}" does not map to iso-8859-2 at -e line 1.
260Ą\x{00a1}

I don't understand it: ord($ARGV[0]) is 260, chr(260) can be printed,
yet $ARGV[0] cannot be printed?

Which part of Perl performs the recoding of @ARGV here?

It seems that my recent patch helps here, somehwta:

$ ./perl -Ilib -e 'use encoding "ISO-8859-2"; use open
":encoding(ISO-8859-2)"; print ord($ARGV[0]), chr(260), $ARGV[0], "\n"' Ą
Wide character in print at -e line 1.
260Ä
    Ą

(Sorry about linewrap, my MUA insists...)

-- 
Jarkko Hietaniemi <jhi(_at_)iki(_dot_)fi> http://www.iki.fi/jhi/ "There is this 
special
biologist word we use for 'stable'.  It is 'dead'." -- Jack Cohen

<Prev in Thread] Current Thread [Next in Thread>