You are viewing the version of this documentation from Perl 5.8.1. View the latest version
fcntl may also refer to the module: Fcntl
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 fcntl. 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). See the Fcntl module or your fcntl(2) manpage to learn what functions are available on your system.