I've used XML::Parser for several projects (I started before reading the tutorials that said it was too hard), and once you get used to the event driven model, it's not really difficult at all - especially if you control the XML format, too. Example: All info in attributes can really make life easy.