I'll check out XML::LibXML. I'm actually just kicking the tires on different parsers right now. For the project I'm working on, I have a problem in that I can't rely on all the files to be valid XML. Sometimes people make mistakes on their XML files and my code just needs to be able to do it's best with what they provide. No crapping out allowed. I'm in a hard place because I know my own parser will never be up to snuff with the existing ones, and I can't seem to find a parser that will survive an XML file with a mistake.