Stegalex has asked for the wisdom of the Perl Monks concerning the following question:

Months ago I wrote data interface specs for a feed I was expecting a software vendor to send me. Not being a trusting person, I designed an XML DTD and shared a sample data file with them etc (this is not a post about the pros and cons of XML so don't go there please).

Anyway, the first test feed came from the vendor yesterday and the XML file was conspicuously missing. What they did provide us with was a neat little Java applet with all the data built right into the classes. It seems that this vendor does not want us to write programs against their data. Our contracts person says that they are in breach of contract and so I expect that there is about a 50/50 chance that we may get them to pony up the XML or some other kind of flat file.

So my question is, if I can't make the software vendor play nice, I want to decompile what must be a two-dimensional array of data out of their Java class files. Since the rest of my system is written in Perl, I am looking for guidance about how to do this in Perl.

Plus, the sheer irony of munging through Java class files in Perl is just too much to pass up.

I like chicken.