Markdown Format | JSON API | MCP Server Tool
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 returned work just like "ioctl" below. For
example:
use Fcntl;
my $flags = fcntl($filehandle, F_GETFL, 0)
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 "Argument "..." isn't numeric" 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.
use Fcntl qw(F_GETFL F_SETFL O_NONBLOCK);
my $flags = fcntl($REMOTE, F_GETFL, 0)
or die "Can't get flags for the socket: $!\n";
fcntl($REMOTE, F_SETFL, $flags | O_NONBLOCK)
or die "Can't set flags for the socket: $!\n";
Portability issues: "fcntl" in perlport.
Generated by phpMan Author: Che Dong Under GNU General Public License
2026-06-02 18:23 @216.73.216.151 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)