{ $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); $Excel->{'Visible'} = 0; $book = $Excel->Workbooks->Open("$dirpath\\$xls"); $worksheet = $book->Worksheets(1); $row = 0; $read_xls++; while ($read_xls) { $row++; $excel_data = $worksheet->Range("A$row:Z$row")->{'Value'}; $col1_data = $excel_data->[0][0]; $col2_data = $excel_data->[0][1]; $col1_data =~ s/\s*$//; $col2_data =~ s/\s*$//; if ($col1_data =~ /^MDLS/i) { $found_mdls++; $col = 0; } next unless $found_mdls; unless ($col1_data) { $found_mdls = ""; $read_xls = ""; last; } $model = $col1_data; $spec = $col2_data; $prod2 = $model; $Excel->Workbooks->Close(); }