There is a rule regarding XML (you may hate it), if the XML is not well-formed (all the tags matching up and correctly nested), then the parser should stop fatally.
in reply to Re: XML::Parser Tutorial
in thread XML::Parser Tutorial
So if you try and parse a file that isn't well-formed XML you will discover this very quickly as the parser will die. (This is incientally a quick way of figuring out if a file is XML.)
Davorg gives a good example here: Re: Is a file XML?. Basically you eval the parse call to trap the die, then do what you want afterwards.