in reply to reading excel files

It really depends on what you want to do with the spreadsheet.

If you are interested in using it as a "database", then Win32::ODBC would be one choice. Two advantages are:
  1. This package comes with activestate Perl. No download, no installation.
  2. The code you written does not care the underlying database, it can be sql server, access, text file, fox pro, dbase, andthing that supports ODBC.
One simple example, before you try it, first create an ODBC object myExcel, and in the underlying excel spreadsheet, enter some data:
use Win32::ODBC; use Data::Dumper; $Data = new Win32::ODBC("myExcel") || die "failed\n"; $Data->sql('SELECT * FROM [Sheet1$]'); while ($Data->FetchRow()) { my %hash = $Data->DataHash(); print Dumper(\%hash); }
If you are more interested in OLE, then you probably want to take a look at Win32::OLE.