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.