use strict; use warnings; use Win32; use Win32::OLE; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn =2; my $excel = Win32::OLE->new('Excel.Application', 'Quit'); $excel->{Visible} = 1; my $xls = $excel->Workbooks->Open('c:/work/report1.xls'); foreach my $sheet ( in $xls->Worksheets ) { my $current_sheet = $sheet->Name, $/; print "Processing => $current_sheet\n"; }