my $newxlsfile = $xlsfile . '.new'; my $newxls = Spreadsheet::WriteExcelXML->new($newxlsfile); # file, NOT handle # insert code to put updated data into $newxls $newxls->close(); close($xlshandle); rename($xlsfile, $xlsfile . '.bak'); rename($newxlsfile, $xlsfile);