in reply to ParseExcel difficulties

Spreadsheet::ParseExcel does not use Excel in any way so ultimately the problem is not an Excel issue (even if Excel is generating rubbish output). About the only way forward I can think of is to use Excel to create subsets of the problematic file in an attempt to isolate the issue to as small a test .xls file as possible that still demonstrates the issue then submit a bug report. In the process you may discover the construct in the spreadsheet that is causing grief and maybe can work around it.

It may help to add logging to cell_handler so you can see what the last cell was before things went pear shaped and can maybe diagnose the problem that way.

Another possibility is that your cell_handler code has an interesting bug in it leading to recursion (for example) or allocation of a huge data structure. It may help to trim your cell_handler code to a minimum that demonstrates the problem then post that.

True laziness is hard work