Fcntl - load the C Fcntl.h defines
use Fcntl; use Fcntl qw(:DEFAULT :flock);
This module is just a translation of the C fnctl.h file. Unlike the old mechanism of requiring a translated fnctl.ph file, this uses the h2xs program (see the Perl source distribution) and your native C compiler. This means that it has a far more likely chance of getting the numbers right.
#define symbols get translated; you must still correctly pack up your own arguments to pass as args for locking functions, etc.
By default your system's F_* and O_* constants (eg, F_DUPFD and O_CREAT) are exported into your namespace. You can request that the flock() constants (LOCK_SH, LOCK_EX, LOCK_NB and LOCK_UN) be provided by using the tag
:flock. See Exporter.
Please refer to your native fcntl() and open() documentation to see what constants are implemented in your system.