in reply to accessing data in a hash
Spreadsheet::ParseExcel::Worksheet=HASH(0x4faa74) is the "stringified" object. You need to access the filename from the object somehow, rather than using the object itself. Or, depending on the nature of the object, the object may have a way of accessing the data from the file that does not need open at all. Since the "stringified" name of the object is not (or usually is not) a valid filename, it doesn't exist.