Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: __DATA__ in XML::Simple and/or IO::Handle

by grantm (Parson)
on Oct 03, 2006 at 20:37 UTC ( [id://576183]=note: print w/replies, xml ) Need Help??


in reply to __DATA__ in XML::Simple and/or IO::Handle

As runrig said, XMLin(\*DATA) is probably what you want (although this node describes why you really need a couple of extra options).

The "Unable to recognise encoding..." message is actually an informational warning from XML::SAX::PurePerl. Due to the fact that your XML started with some whitespace (perhaps a blank line), the parser was unable to autodetect the encoding by examining the byte(s) used to represent the initial '<' character. In the absence of this information, the parser assumes utf-8 encoding and continues.

It's not a particularly helpful message and none of the other XML parser modules emit warnings in the same situation.

You should be aware that the PurePerl parser (version 0.14 of XML::SAX) has a bug in its handling of character entities (eg: '&amp;') in attributes. This bug caused the XML::Simple test suite to fail so I'm guessing you must have forced the install. I've supplied patches to fix the bug and remove the encoding warning so I'm hopeful both issues will be fixed in the next release.

FYI: I released a new version of XML::Simple yesterday which includes improved documentation around passing a filehandle to XMLin.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://576183]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (3)
As of 2024-04-19 20:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found