if (fileno $file_or_handle) { # $file_or_handle is a filehandle } else { # $file_or_handle is a file # test for existance and open }