in reply to tagged text parser

What you describe as loose XML is just XML. I recommend XML::LibXML, although XML::Twig is great for transforming documents.