This script:
use XML::Simple; my $p= XML::Simple->new(); my $doc= $p->XMLin(shift);
... will fail given certain characters in the XML document. This is not a problem. The problem is that when it fails it will continue to print out the same error message again and again until the process is stopped. Here is a sample XMl file that will fail:
http://www.blahfoo.com/stuff/podtech.rss
The error message is:
uft8 "\xE2" does not map to Unicode at /usr/lib/perl5/site_perl/5.8.6/ +XML/SAX/PurePerl/Reader/Stream.ps line 37
and that line of code is the read() function. I'm certain that (after reading as much of the utf8/unicode documentation that I can stomach) the error message was due to a bad mapping into Unicode. However, I can't figure what is causing it to simply do this over and over. I just need to get around it. I read about this same issue (with a different hex code for the offending "character") somewhere else. No one seemed to have anything to offer other than preprocess the file. This is not really an option. Ideas?

In reply to Infinite loop in XML Parser? by Woulfe

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.