in reply to test if a scalar contains a filename or a filehandle?
For starters, I would recommend that you test for a filehandle before you try opening it as a file.
Now, having said that, there shouldn't be very many ways in which you would get a scalar that holds a reference to a filehandle. I'm hoping that there is some degree of control over the calling syntax of your routine. In general, if your scalar is a reference to GLOB or something that derives from it (test with "UNIVERSAL::isa($file_or_handle, 'GLOB')"), then it's a filehandle. This will hold true for objects instantiated from the IO::File class (or any of the IO::Handle tree).
And if that test returns false, then you are free to open it as a file. Pending tests for validity, of course :-).
--rjray
|
|---|