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

Honza Pazdziora adelton na informatics.muni.cz
Čtvrtek Červen 12 13:36:26 MEST 2003


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.

:-))

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.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 .project: Perl, mod_perl, DBI, Oracle, auth. WWW servers, XML/XSL, ...
		Only self-confident people can be simple.


Další informace o konferenci Perl