Implements the fcntl(2) function. You'll probably have to say
- use Fcntl;
first to get the correct constant definitions. Argument processing and
value returned work just like ioctl
below.
For example:
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
raises an exception 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.
Here's an example of setting a filehandle named REMOTE
to be
non-blocking at the system level. You'll have to negotiate $|
on your own, though.
Portability issues: fcntl in perlport.