in reply to parsing XMLish data

That looks like something XML::Parser would be able to grok...

I've just finished a quick project with it, and while it's intimidating at first, it's quite powerful. It has a few different parsing "styles". I'd suggest you use Subs, where you can have a sub for each tag in your XML, and since you know exactly which tags to expect, it makes it easy to write the subs to assign the data values.

Or, you can use the Stream style, that will provide more flexibility, as it calls pre-defined subs on specific events (start tag, end tag, text, start document, etc), and from there you can verify which is the tag that is being parsed.

There's some more information here and here.