in reply to open fails with no error code

Without seeing more code, the only thing that has bitten me in the past with $! is that I made another system call (e.g. logging some text) after the open but before checking $!, wiping it out. Obviously you can just save it off immediately after the open call is finished.

As far as your "No such file..." message, one way to verify that the file does exist is to either use stat() or something like -f $path to check it's existance, but open() should work ok for this. Also, make sure you are either using a full path on the open() call or that you really are chdir'd into the correct directory.