http://www.perlmonks.org?node_id=214

fcntl

See the current Perl documentation for fcntl.

Here is our local, out-dated (pre-5.6) version:


fcntl - file control system all



fcntl FILEHANDLE,FUNCTION,SCALAR



Implements the fcntl(2) function. You'll probably have to say

    use Fcntl;

first to get the correct constant definitions. Argument processing and value return works just like ioctl() below. For example:

    use Fcntl;
    fcntl($filehandle, F_GETFL, $packed_return_buffer)
        or die "can't fcntl F_GETFL: $!";

You don't have to check for defined() on the return from fnctl(). Like ioctl(), it maps a 0 return from the system call into ``0 but true'' in Perl. This string is true in boolean context and 0 in numeric context. It is also exempt from the normal -w warnings on improper numeric conversions.

Note that fcntl() will produce a fatal error if used on a machine that doesn't implement fcntl(2).