use Win32::OLE; my $book; my $sheet; my $sheet_name = "rota"; my $rota_location = 'e:/rota.xls'; if( -e $rota_location ){ $book = $ex->Workbooks->open($rota_location); }else{ $book = $ex->Workbooks->Add; } unless($sheet = eval { $book->Worksheets($sheet_name) }){ $sheet = $book->Worksheets->Add; $sheet->{Name} = $sheet_name; }