my $Excel = Win32::OLE->new('Excel.Application') or die "Could not start excel"; $Excel->{'Visible'} = 0; $Excel->{DisplayAlerts} = 0; my $file = "E:/www/aglocal/Inlook/excel/facture.xls"; if ( -e $file ) { print h1( 'found' ); } else { print h1( 'NOT found' ); } if ( -r $file ) { print h1( 'readable' ); } else { print h1( 'NOT readable' ); } if ( -w $file ) { print h1( 'writable' ); } else { print h1( 'NOT writable' ); } my $Book = $Excel->Workbooks->Open ( "$file" ) or die "$! : $file\n"; # open Excel file #### found readable writable Software error: Bad file descriptor : E:/www/aglocal/Inlook/excel/facture.xls