Chyba 'Wide character in print' pri pouziti XML::Parser

Pavel Smerk xsmerk na informatics.muni.cz
Čtvrtek Červen 12 14:43:08 MEST 2003


On Thu, Jun 12, 2003 at 01:36:41PM +0200, Honza Pazdziora wrote:
> On Thu, Jun 12, 2003 at 01:13:17PM +0200, Pavel Smerk wrote:
> > Deje se mi nasledujici:
> > 
> > [...]$ cat z.xml
> > <test>ћ</test>
> > [...]$ cat z.pl
> > #!/usr/bin/perl -w
> > 
> > use strict;
> > use XML::Parser;
> > 
> > my $parser = new XML::Parser(Handlers => {Char => sub { print "$_[1]\n" }});
> > $parser->parse(*STDIN, ProtocolEncoding => 'UTF-8');
> > [...]$ ./z.pl < z.xml
> > Wide character in print at ./z.pl line 6.
> > ћ
> > [...]$ perl -pe 's/<[^>]*>//g;' < z.xml
> > ћ
> > [...]$
> > 
> > Pokud by se to nahodou nepreneslo korektne, v tom XML je dvojice znaku
> > \xd1\x9b cili v utf8 jakysi paznak z cyrilice s cislem 045b, ovsem o
> > konkretni znak nejde.
> > 
> > Neni mi jasne, proc se mi vypisuje pri pouziti XML::Parseru chybova hlaska,
> > co delam spatne a jak to spravit.
> 
> Naucime se dneska novou option: -Mdiagnostics, nebo taky v tele
> skriptu
> use diagnostics.

Jo, to je rozumna pripominka. ;-)

> Byt Tebou, tak si ujasnim, v jakych znakovych sadach chces mit
> jednotliva data, jednotliva zpracovani a jednotlive filehandly, jestli
> tomu co chces odpovida to co mas, a to vcetne takovych veci jako
> locales.

No, uplne hlavne budu muset cist dokumentaci ke stejne verzi Perlu, kterou
pouzivam, pac koukam, ze se to hrozne rychle meni... ;-)

							Presto diky, 	P.


Další informace o konferenci Perl