Fcntl
СОДЕРЖАНИЕ
ИМЯ
Fcntl - загрузить определения C Fcntl.h
СИНТАКСИС
use Fcntl;
use Fcntl qw(:DEFAULT :flock); ОПИСАНИЕ
Этот модуль представляет собой просто перевод файла C fcntl.h. В отличие от старого механизма, требующего переведённого файла fcntl.ph, он использует программу h2xs (см. дистрибутив Perl-исходников) и ваш родной компилятор C. Это означает, что он имеет гораздо больше шансов получить правильные значения.
ПРИМЕЧАНИЕ
Только #define символы переводятся; вы по-прежнему должны правильно упаковывать собственные аргументы для передачи в качестве аргументов функций блокировки и т.д.
ЭКСПОРТИРУЕМЫЕ СИМВОЛЫ
По умолчанию константы F_* и O_* вашей системы (например, F_DUPFD и O_CREAT) и константа FD_CLOEXEC экспортируются в ваш пространство имён.
Вы можете запросить предоставление констант flock() (LOCK_SH, LOCK_EX, LOCK_NB и LOCK_UN), используя тег :flock. См. Exporter.
Вы можете запросить предоставление старых констант (FAPPEND, FASYNC, FCREAT, FDEFER, FEXCL, FNDELAY, FNONBLOCK, FSYNC, FTRUNC) по соображениям совместимости, используя тег :Fcompat. Для новых приложений рекомендуется использовать более новые версии этих констант (O_APPEND, O_ASYNC, O_CREAT, O_DEFER, O_EXCL, O_NDELAY, O_NONBLOCK, O_SYNC, O_TRUNC).
Для удобства использования также доступны константы SEEK_* (для seek() и sysseek(), например, SEEK_END) и константы S_I* (для chmod() и stat()). Их можно импортировать по отдельности или используя теги :seek и :mode.
Обратитесь к документации вашей системы для fcntl(2), open(2), fseek(3), lseek(2) (равно Perl's seek() и sysseek(), соответственно), и chmod(2), чтобы узнать, какие константы реализованы в вашей системе.
См. perlopentut, чтобы узнать об использовании констант O_* с sysopen().
См. "seek" в perlfunc и "sysseek" в perlfunc о константах SEEK_*.
См. "stat" в perlfunc о константах S_I*.
© 1993–2023 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.38.0/Fcntl