in reply to Modules for xlsx files

If you need to handle both xls and xslx files, take a look at wrapper module Data::Table::Excel which I currently use for reading, but the docs say it can be used for writing, too. The module uses other modules as described from the docs:

To read and write Excel .xls (2003 and prior) format, we use Spreadsheet::WriteExcel and Spreadsheet::ParseExcel; to read and write Excel .xlsx (2007 format), we use Spreadsheet::ParseXLSX and Excel::Writer::XLSX. If this module gives incorrect results, please check if the corresponding Perl modules are updated. (We switch to Spreadsheet::ParseXLSX from Spreadsheet::XLSX from version 0.5)

Note: The only reason I haven't used Data::Table::Excel for writing is because I didn't find it until I needed to read xlsx files--I was already using module Spreadsheet::DataToExcel to write xls files, mainly because of the structure of the data I had to write to Excel.