in reply to accessing data in a hash

$oWkS is not a string scalar, it is a reference to a hash (even more specifically, a hash that's been blessed into the class Spreadsheet::ParseExcel::Worksheet); that's really what your object $oWkS is -- a reference to a hash.

What your open call does is attempt to open a file with a certain name for *reading*, but when you put a scalar name into the double-quotes where the scalar refers to a hash, you get back a string that consists of the class name the hash has been blessed into, followed by a bit indicating that this is a hash reference. There is no file with that name, so the call fails.

If you want to read data from the object, you're going to have to access the methods the class provides you with. It *looks* to me like what the data stored in your object is a two-dimensional array, which in Perl is an array of array references. more help than that I cannot responsibly provide, since I'm not at all clear on what you're trying to do.

HTH