You're mostly correct. Most of your post was talking about XML, which I think could confuse folks about what you're needing help with: XML or Excel.
What OS are you on? If you're on Windows, do you have Excel installed and available for use? Which Excel version is the file that you're using?
- As for Excel file type, there's the older .xls version and the newer .xlsx type. Very different structures.
- From non-Windows OSes and Windows without Excel, you'll probably be interested in Spreadsheet::ParseExcel for the older .xls file type and Spreadsheet::XLSX for the newer .xls.
- From a Windows system with Excel, I personally would use Win32::OLE to control Excel to access the Excel file.
- Also, with the .xlsx file type, there's another route to go. I believe that's just a compressed XML file. That means that you can uncompress it and then do XML parsing. If you go that route, then sundialsvc4's response about using XPath type modules for XML parsing now becomes very applicable.