This function returns the file descriptor for a filehandle. (A file descriptor is a small integer, unlike the filehandle, which is a symbol.) It returns undef if the handle is not open. It's useful for constructing bitmaps for select , and for passing to certain obscure system calls if syscall (2) is implemented. It's also useful for double-checking that the open function gave you the file descriptor you wanted - see the example under fcntl .
A caution: don't count on the association of a Perl filehandle and a
numeric file descriptor throughout the life of the program. If a file
has been closed and reopened, the file descriptor may change.