POSIX
СОДЕРЖАНИЕ
- НАЗВАНИЕ
- СИНТАКСИС
- ОПИСАНИЕ
- ЗАМЕЧАНИЯ
- ФУНКЦИИ
- КЛАССЫ
- КОНСТАНТЫ ИМЕНЬ ПУТИ
- КОНСТАНТЫ POSIX
- КОНСТАНТЫ РЕСУРСОВ
- НАСТРОЙКА СИСТЕМЫ
- ERRNO
- FCNTL
- FLOAT
- СРЕДА ПЛАВАЮЩЕЙ ТОЧКИ
- ЛИМИТЫ
- ЛОКАЛЬ
- МАТЕМАТИКА
- СИГНАЛ
- STAT
- STDLIB
- STDIO
- ВРЕМЯ
- UNISTD
- WAIT
- WINSOCK
НАЗВАНИЕ
POSIX - Perl-интерфейс к IEEE Std 1003.1
СИНТАКСИС
use POSIX ();
use POSIX qw(setsid);
use POSIX qw(:errno_h :fcntl_h);
printf "EINTR is %d\n", EINTR;
$sess_id = POSIX::setsid();
$fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
# note: that's a filedescriptor, *NOT* a filehandle ОПИСАНИЕ
Модуль POSIX позволяет получить доступ ко всем (или почти всем) стандартным идентификаторам POSIX 1003.1. Многие из этих идентификаторов получили Perl-подобные интерфейсы.
Этот документ предоставляет сокращенный список функций, доступных в модуле POSIX. Обратитесь к страницам справки вашей операционной системы для получения общей информации о большинстве функций. Обратитесь к perlfunc для функций, которые идентичны или почти идентичны встроенным функциям Perl.
В первом разделе описываются функции POSIX из спецификации 1003.1. Во втором разделе описываются некоторые классы для объектов сигналов, объектов TTY и других различных объектов. Остальные разделы перечисляют различные константы и макросы в структуре, примерно соответствующей IEEE Std 1003.1b-1993.
ЗАМЕЧАНИЯ
Все по умолчанию экспортируется (с небольшим количеством исключений). Это несчастная функция обратной совместимости, и её использование настоятельно не рекомендуется. Вы должны либо предотвратить экспорт (сказав use POSIX ();, как обычно), а затем использовать полностью квалифицированные имена (например, POSIX::SEEK_END), либо указать явный список импорта. Если вы не делаете ни то, ни другое и выбираете значение по умолчанию (как в use POSIX;), вы импортируете сотни и сотни символов в своё пространство имен.
Некоторые функции не реализованы, потому что они специфичны для C. Если вы попытаетесь вызвать их, они выведут сообщение, в котором будет сказано, что они не реализованы, и предложат использовать Perl-эквивалент, если он существует. Например, попытка получить доступ к setjmp() вызовет сообщение "setjmp() is C-specific: use eval {} instead".
Кроме того, некоторые зловредные поставщики будут утверждать соответствие стандарту 1003.1, но на самом деле не будут: они не пройдут PCTS (тесты на соответствие стандарту POSIX). Например, поставщик может не определить EDEADLK, или семантика значений errno, установленных open(2), может быть не совсем правильной. Perl не пытается проверить соответствие стандарту POSIX. Это означает, что вы можете сейчас успешно сказать "use POSIX", а затем позже в вашей программе обнаружить, что ваш поставщик был небрежен, и нет доступного ICANON макроса. Это можно рассматривать как ошибку.
ФУНКЦИИ
-
_exit -
Это идентично функции C
_exit(). Она немедленно завершает программу, что означает, в том числе, что буферизованный ввод-вывод не сбрасывается.Обратите внимание, что при использовании потоков и в Linux это не лучший способ выхода из потока, поскольку в Linux процессы и потоки похожи (Примечание: хотя это было в начале 2003 года, в Linux ведутся проекты по созданию потоков с более POSIX-совместимой семантикой). Если вы не хотите возвращаться из потока, отсоедините поток.
abort-
Это идентично функции C
abort(). Она завершает процесс с сигналомSIGABRT, если он не перехвачен обработчиком сигналов или если обработчик не возвращается нормально (например, выполняетlongjmp). abs-
Это идентично встроенной функции Perl
abs(), возвращающей абсолютное значение своего числового аргумента (за исключением того, чтоPOSIX::abs()должен получить явное значение (вместо того, чтобы полагаться на неявное$_):$absolute_value = POSIX::abs(42); # good $absolute_value = POSIX::abs(); # throws exception access-
Определяет доступность файла.
if( POSIX::access( "/", &POSIX::R_OK ) ){ print "have read permission\n"; }Возвращает
undefпри ошибке. Примечание: не используйтеaccess()в целях безопасности. Между вызовомaccess()и операцией, к которой вы готовитесь, разрешения могут измениться: классическая проблема гонки условий. acos-
Это идентично функции C
acos(), возвращающей арккосинус своего числового аргумента. См. также Math::Trig. acosh-
Это идентично функции C
acosh(), возвращающей гиперболический арккосинус своего числового аргумента [C99]. См. также Math::Trig. alarm-
Это идентично встроенной функции Perl
alarm(), либо для включения, либо для выключения таймераSIGARLM, за исключением того, чтоPOSIX::alarm()должен получить явное значение (вместо того, чтобы полагаться на неявное$_):POSIX::alarm(3) # good POSIX::alarm() # throws exception asctime-
Это идентично функции C
asctime(). Она возвращает строку вида"Fri Jun 2 18:22:13 2000\n\0"и вызывается так
$asctime = asctime($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);Значение
$monнулевое основание: январь равен0. Значение$yearосновано на 1900: 2001 равен101.$wdayи$ydayпо умолчанию равны нулю (и обычно игнорируются), а$isdstпо умолчанию равен -1. asin-
Это идентично функции C
asin(), возвращающей арксинус своего числового аргумента. См. также Math::Trig. asinh-
Это идентично функции C
asinh(), возвращающей гиперболический арксинус своего числового аргумента [C99]. См. также Math::Trig. assert-
Не реализовано, но вы можете использовать "die" в perlfunc и модуль Carp для достижения аналогичных результатов.
atan-
Это идентично функции C
atan(), возвращающей арктангенс своего числового аргумента. См. также Math::Trig. atanh-
Это идентично функции C
atanh(), возвращающей гиперболический арктангенс своего числового аргумента [C99]. См. также Math::Trig. atan2-
Это идентично встроенной функции Perl
atan2(), возвращающей арктангенс, определяемый двумя ее числовыми аргументами, координатами y и x. См. также Math::Trig. atexit-
Не реализовано.
atexit()специфичны для C: используйтеEND {}, см. perlmod. atof-
Не реализовано.
atof()специфичны для C. Perl преобразует строки в числа прозрачно. Если вам нужно принудительно преобразовать скаляр в число, добавьте к нему ноль. atoi-
Не реализовано.
atoi()специфичны для C. Perl преобразует строки в числа прозрачно. Если вам нужно принудительно преобразовать скаляр в число, добавьте к нему ноль. Если вам нужно получить только целую часть, см. "int" в perlfunc. atol-
Не реализовано.
atol()специфичны для C. Perl преобразует строки в числа прозрачно. Если вам нужно принудительно преобразовать скаляр в число, добавьте к нему ноль. Если вам нужно получить только целую часть, см. "int" в perlfunc. bsearch-
bsearch()не предоставлено. Для выполнения бинарного поиска в словарях см. Search::Dict. calloc-
Не реализовано.
calloc()специфичны для C. Perl управляет памятью прозрачно. cbrt-
Кубический корень [C99].
ceil-
Это идентично функции C
ceil(), возвращающей наименьшее целое значение, большее или равное заданному числовому аргументу. chdir-
Это идентично встроенной функции Perl
chdir(), позволяющей изменить рабочий (по умолчанию) каталог — см. "chdir" в perlfunc — за исключением того, чтоPOSIX::chdir()должен получить явное значение (вместо того, чтобы полагаться на неявное$_):$rv = POSIX::chdir('path/to/dir'); # good $rv = POSIX::chdir(); # throws exception chmod-
Это идентично встроенной функции Perl
chmod(), позволяющей изменить права доступа к файлам и каталогам — см. "chmod" в perlfunc — за исключением того, чтоPOSIX::chmod()может изменить только один файл за раз (вместо списка файлов):$c = chmod 0664, $file1, $file2; # good $c = POSIX::chmod 0664, $file1; # throws exception $c = POSIX::chmod 0664, $file1, $file2; # throws exception chown-
Это идентично встроенной функции Perl
chown(), позволяющей изменить владельца и группу файла или каталога, см. "chown" в perlfunc. clearerr-
Не реализовано. Используйте метод
IO::Handle::clearerr()вместо этого, чтобы сбросить состояние ошибки (если оно есть) и состояние EOF (если оно есть) указанного потока. clock-
Это идентично функции C
clock(), возвращающей затраченное время процессора в микросекундах. close-
Закрыть файл. Для этого используются дескрипторы файлов, такие как полученные с помощью вызова
POSIX::open.$fd = POSIX::open( "foo", &POSIX::O_RDONLY ); POSIX::close( $fd );Возвращает
undefпри ошибке.См. также "close" в perlfunc.
closedir-
Это идентично встроенной функции Perl
closedir()для закрытия дескриптора каталога, см. "closedir" в perlfunc. cos-
Это идентично встроенной функции Perl
cos()для возвращения косинуса своего числового аргумента, см. "cos" в perlfunc. См. также Math::Trig. cosh-
Это идентично функции C
cosh(), для возвращения гиперболического косинуса ее числового аргумента. См. также Math::Trig. copysign-
Возвращает
x, но со знакомy[C99].$x_with_sign_of_y = POSIX::copysign($x, $y);См. также "signbit".
creat-
Создать новый файл. Это возвращает дескриптор файла, подобный тем, которые возвращает
POSIX::open. ИспользуйтеPOSIX::closeдля закрытия файла.$fd = POSIX::creat( "foo", 0611 ); POSIX::close( $fd );См. также "sysopen" в perlfunc и его
O_CREATфлаг. ctermid-
Генерирует имя пути к управляющему терминалу.
$path = POSIX::ctermid(); ctime-
Это идентично функции C
ctime()и эквивалентноasctime(localtime(...)), см. "asctime" и "localtime". cuserid-
Получить имя пользователя, вошедшего в систему, владельца текущего процесса.
$name = POSIX::cuserid(); difftime-
Это идентично функции C
difftime(), для возвращения разницы во времени (в секундах) между двумя моментами времени (как возвращаетсяtime()), см. "time". div-
Не реализовано.
div()специфично для C, используйте "int" в perlfunc для обычного/деления и модуля%. dup-
Это аналогично функции C
dup(), для дублирования дескриптора файла.Для этого используются дескрипторы файлов, такие как полученные с помощью вызова
POSIX::open.Возвращает
undefпри ошибке. dup2-
Это аналогично функции C
dup2(), для дублирования дескриптора файла в другой известный дескриптор файла.Для этого используются дескрипторы файлов, такие как полученные с помощью вызова
POSIX::open.Возвращает
undefпри ошибке. erf-
Функция ошибки [C99].
erfc-
Дополнительная функция ошибки [C99].
errno-
Возвращает значение errno.
$errno = POSIX::errno();Это идентично числовым значениям
$!, см. "$ERRNO" в perlvar. execl-
Не реализовано.
execl()специфично для C, см. "exec" в perlfunc. execle-
Не реализовано.
execle()специфично для C, см. "exec" в perlfunc. execlp
-
Не реализовано.
execlp()— специфично для C, см. "exec" в perlfunc. execv-
Не реализовано.
execv()— специфично для C, см. "exec" в perlfunc. execve-
Не реализовано.
execve()— специфично для C, см. "exec" в perlfunc. execvp-
Не реализовано.
execvp()— специфично для C, см. "exec" в perlfunc. exit-
Идентично встроенной в Perl функции
exit()для завершения программы, см. "exit" в perlfunc. exp-
Идентично встроенной в Perl функции
exp()для возвращения показателя степени (по основанию e) числового аргумента, см. "exp" в perlfunc. expm1-
Эквивалентно
exp(x) - 1, но более точно для малых значений аргумента [C99].См. также "log1p".
fabs-
Идентично встроенной в Perl функции
abs()для возвращения абсолютного значения числового аргумента, см. "abs" в perlfunc. fclose-
Не реализовано. Используйте метод
IO::Handle::close()вместо этого или см. "close" в perlfunc. fcntl-
Идентично встроенной в Perl функции
fcntl(), см. "fcntl" в perlfunc. fdopen-
Не реализовано. Используйте метод
IO::Handle::new_from_fd()вместо этого или см. "open" в perlfunc. feof-
Не реализовано. Используйте метод
IO::Handle::eof()вместо этого или см. "eof" в perlfunc. ferror-
Не реализовано. Используйте метод
IO::Handle::error()вместо этого. fflush-
Не реализовано. Используйте метод
IO::Handle::flush()вместо этого. См. также"$OUTPUT_AUTOFLUSH" in perlvar. fgetc-
Не реализовано. Используйте метод
IO::Handle::getc()вместо этого или см. "read" в perlfunc. fgetpos-
Не реализовано. Используйте метод
IO::Seekable::getpos()вместо этого или см. "seek" в perlfunc. fgets-
Не реализовано. Используйте метод
IO::Handle::gets()вместо этого. Аналогично <>, также известно как "readline" в perlfunc. fileno-
Не реализовано. Используйте метод
IO::Handle::fileno()вместо этого или см. "fileno" в perlfunc. floor-
Идентично функции C
floor(), возвращающей наибольшее целое значение, меньшее или равное числовому аргументу. fdim-
«Положительная разность»,
x - yеслиx > y, ноль в противном случае [C99]. fegetround-
Возвращает текущий режим округления с плавающей запятой, один из
FE_TONEAREST FE_TOWARDZERO FE_UPWARD FE_UPWARDFE_TONEAREST— как "round",FE_TOWARDZERO— как "trunc" [C99]. fesetround-
Устанавливает режим округления с плавающей запятой, см. "fegetround" [C99].
fma-
«Объединённое умножение-сложение»,
x * y + z, возможно, быстрее (и менее потерь информации) чем явные две операции [C99].my $fused = POSIX::fma($x, $y, $z); fmax-
Максимум из
xиy, за исключением случаев, когда один из нихNaN, возвращает другой [C99].my $min = POSIX::fmax($x, $y); fmin-
Минимум из
xиy, за исключением случаев, когда один из нихNaN, возвращает другой [C99].my $min = POSIX::fmin($x, $y); fmod-
Идентично функции C
fmod().$r = fmod($x, $y);Возвращает остаток
$r = $x - $n*$y, где$n = trunc($x/$y). Остаток имеет тот же знак, что и$x, а его величина (абсолютное значение) меньше величины$y. fopen-
Не реализовано. Используйте метод
IO::File::open()вместо этого или см. "open" в perlfunc. fork-
Идентично встроенной в Perl функции
fork()для дублирования текущего процесса, см. "fork" в perlfunc и perlfork, если вы работаете в Windows. fpathconf-
Извлекает значение конфигурируемого ограничения файла или каталога. Использует дескрипторы файлов, такие как полученные при вызове
POSIX::open.Следующее определит максимальную длину самого длинного разрешённого пути в файловой системе, содержащей /var/foo.
$fd = POSIX::open( "/var/foo", &POSIX::O_RDONLY ); $path_max = POSIX::fpathconf($fd, &POSIX::_PC_PATH_MAX);Возвращает
undefпри ошибке. fpclassify-
Возвращает одно из
FP_NORMAL FP_ZERO FP_SUBNORMAL FP_INFINITE FP_NANуказывающее на класс аргумента [C99].
FP_INFINITE— положительная или отрицательная бесконечность,FP_NAN— не число.FP_SUBNORMALозначает числа с пониженной точностью (также известные как числа денормализации), очень маленькие числа с низкой точностью.FP_ZERO— ноль.FP_NORMAL— всё остальное. fprintf-
Не реализовано.
fprintf()— специфично для C, см. "printf" в perlfunc вместо этого. fputc-
Не реализовано.
fputc()— специфично для C, см. "print" в perlfunc вместо этого. fputs-
Не реализовано.
fputs()— специфично для C, см. "print" в perlfunc вместо этого. fread-
Не реализовано.
fread()— специфично для C, см. "read" в perlfunc вместо этого. free-
Не реализовано.
free()— специфично для C. Perl управляет памятью прозрачно. freopen-
Не реализовано.
freopen()— специфично для C, см. "open" в perlfunc вместо этого. frexp-
Возвращает мантиссу и показатель степени вещественного числа.
($mantissa, $exponent) = POSIX::frexp( 1.234e56 ); fscanf-
Не реализовано.
fscanf()— специфично для C, используйте <> и регулярные выражения вместо этого. fseek-
Не реализовано. Используйте метод
IO::Seekable::seek()вместо этого или см. "seek" в perlfunc. fsetpos-
Не реализовано. Используйте метод
IO::Seekable::setpos()вместо этого или см. "seek" в perlfunc. fstat-
Получение статуса файла. Использует дескрипторы файлов, такие как полученные при вызове
POSIX::open. Возвращаемые данные идентичны данным от встроенной в Perl функцииstat.$fd = POSIX::open( "foo", &POSIX::O_RDONLY ); @stats = POSIX::fstat( $fd ); fsync-
Не реализовано. Используйте метод
IO::Handle::sync()вместо этого. ftell-
Не реализовано. Используйте метод
IO::Seekable::tell()вместо этого или см. "tell" в perlfunc. fwrite-
Не реализовано.
fwrite()— специфично для C, см. "print" в perlfunc вместо этого. getc-
Идентично встроенной в Perl функции
getc(), см. "getc" в perlfunc. getchar-
Возвращает один символ из STDIN. Идентично Perl'овской функции
getc(), см. "getc" в perlfunc. getcwd-
Возвращает имя текущей рабочей директории. См. также Cwd.
getegid-
Возвращает эффективный идентификатор группы. Аналогично Perl'овской встроенной переменной
$(, см. "$EGID" в perlvar. getenv-
Возвращает значение указанной переменной окружения. Та же информация доступна через массив
%ENV. geteuid-
Возвращает эффективный идентификатор пользователя. Идентично Perl'овской встроенной переменной
$>, см. "$EUID" в perlvar. getgid-
Возвращает реальный идентификатор группы пользователя. Аналогично Perl'овской встроенной переменной
$), см. "$GID" в perlvar. getgrgid-
Идентично встроенной в Perl функции
getgrgid()для возвращения записей группы по идентификаторам группы, см. "getgrgid" в perlfunc. getgrnam-
Идентично встроенной в Perl функции
getgrnam()для возвращения записей группы по именам группы, см. "getgrnam" в perlfunc. getgroups-
Возвращает идентификаторы дополнительных групп пользователя. Аналогично Perl'овской встроенной переменной
$), см. "$GID" в perlvar. getlogin-
Идентично встроенной в Perl функции
getlogin()для возвращения имени пользователя, связанного с текущей сессией, см. "getlogin" в perlfunc. getpayload
-
use POSIX ':nan_payload'; getpayload($var)Возвращает
NaNполезную нагрузку.Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
См. "nan" для получения более подробной информации об
NaN. getpgrp-
Это идентично встроенной функции Perl
getpgrp()для возвращения идентификатора группы процессов текущего процесса, см. "getpgrp" в perlfunc. getpid-
Возвращает идентификатор процесса. Идентично встроенной переменной Perl
$$, см. "$PID" в perlvar. getppid-
Это идентично встроенной функции Perl
getppid()для возвращения идентификатора процесса родительского процесса текущего процесса, см. "getppid" в perlfunc. getpwnam-
Это идентично встроенной функции Perl
getpwnam()для возвращения записей пользователей по именам пользователей, см. "getpwnam" в perlfunc. getpwuid-
Это идентично встроенной функции Perl
getpwuid()для возвращения записей пользователей по идентификаторам пользователей, см. "getpwuid" в perlfunc. gets-
Возвращает одну строку из
STDIN, аналогично <>, также известна как функцияreadline(), см. "readline" в perlfunc.ПРИМЕЧАНИЕ: если у вас есть программы на C, которые всё ещё используют
gets(), будьте очень осторожны. Функцияgets()является источником бесконечных проблем, потому что она не имеет проверок переполнения буфера. Её никогда нельзя использовать. Вместо неё следует использовать функциюfgets(). getuid-
Возвращает идентификатор пользователя. Идентично встроенной переменной Perl
$<, см. "$UID" в perlvar. gmtime-
Это идентично встроенной функции Perl
gmtime()для преобразования секунд с начала эпохи в дату по Гринвичу, см. "gmtime" в perlfunc. hypot-
Эквивалентно
sqrt(x * x + y * y), но более стабильно для очень больших или очень малых аргументов [C99]. ilogb-
Целочисленный двоичный логарифм [C99]
Например,
ilogb(20)равно 4, как целое число.См. также "logb".
Inf-
Бесконечность как константа:
use POSIX qw(Inf); my $pos_inf = +Inf; # Or just Inf. my $neg_inf = -Inf;См. также "isinf" и "fpclassify".
isalnum-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alnum:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isalpha-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alpha:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isatty-
Возвращает булево значение, указывающее, подключен ли указанный дескриптор файла к терминалу tty. Аналогично оператору
-t, см. "-X" в perlfunc. iscntrl-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:cntrl:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isdigit-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:digit:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isfinite-
Возвращает true, если аргумент является конечным числом (то есть не бесконечностью и не числом типа «не число») [C99].
См. также "isinf", "isnan" и "fpclassify".
isgraph-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:graph:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isgreater-
(Также
isgreaterequal,isless,islessequal,islessgreater,isunordered)Сравнения с плавающей точкой, которые обрабатывают
NaN[C99]. isinf-
Возвращает true, если аргумент является бесконечностью (положительной или отрицательной) [C99].
См. также "Inf", "isnan", "isfinite" и "fpclassify".
islower-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:lower:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isnan-
Возвращает true, если аргумент является
NaN(не число) [C99].Обратите внимание, что вы не можете проверить «
NaN-ность» с$x == $xтак как
NaNне эквивалентно ничему, включая само себя.См. также "nan", "NaN", "isinf" и "fpclassify".
isnormal-
Возвращает true, если аргумент является нормальным (то есть не является субнормальным/денормализованным, не является бесконечностью и не является числом типа «не число») [C99].
См. также "isfinite" и "fpclassify".
isprint-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:print:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. ispunct-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:punct:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. issignaling-
use POSIX ':nan_payload'; issignaling($var, $payload)Возвращает true, если аргумент является сигнальным NaN.
Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
См. "nan" для получения более подробной информации об
NaN. isspace-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:space:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isupper-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:upper:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isxdigit-
Эта функция была удалена начиная с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:xdigit:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. j0j1jny0y1yn-
Функция Бесселя первого рода нулевого порядка.
kill-
Это идентично встроенной функции Perl
kill()для отправки сигналов процессам (часто для их завершения), см. "kill" в perlfunc. labs-
Не реализовано. (Для возвращения абсолютных значений длинных целых чисел.)
labs()— специфично для C, см. "abs" в perlfunc вместо этого. lchown-
Это идентично функции C, за исключением того, что порядок аргументов согласован со встроенной функцией Perl
chown()с добавлением ограничения только на один путь, а не на список путей. Выполняет то же самое, что и функцияchown(), но изменяет владельца символической ссылки вместо файла, на который указывает символическая ссылка.POSIX::lchown($uid, $gid, $file_path); ldexp-
Это идентично функции C
ldexp()для умножения чисел с плавающей точкой на степени двойки.$x_quadrupled = POSIX::ldexp($x, 2); ldiv-
Не реализовано. (Для вычисления частных длинных целых чисел.)
ldiv()— специфично для C, используйте/иint()вместо этого. lgamma-
Логарифм гамма-функции [C99].
См. также "tgamma".
log1p-
Эквивалентно
log(1 + x), но обеспечивает более стабильные результаты для малых значений аргументов [C99]. log2-
Логарифм по основанию два [C99].
См. также "expm1".
logb-
Целочисленный двоичный логарифм [C99].
Например,
logb(20)равно 4, как число с плавающей точкой.См. также "ilogb".
link
-
Это идентично встроенной функции Perl
link()для создания жёстких ссылок на файлы, см. "link" в perlfunc. localeconv-
Получить информацию о числовом формате. Возвращает ссылку на хеш, содержащий значения форматирования текущего локального окружения. Пользователи этой функции должны также прочитать perllocale, который предоставляет исчерпывающее обсуждение обработки локалей Perl, включая раздел, посвящённый этой функции. До Perl 5.28 или при работе в не-потокобезопасной среде, её не следует использовать в многопоточной программе, если не известно, что базовое локальное окружение - C или POSIX. Это связано с тем, что в противном случае она изменяет локальное окружение, что глобально влияет на все потоки одновременно. Платформы Windows, начиная с Visual Studio 2005, в основном потокобезопасны, но использование этой функции в версиях до Visual Studio 2015 может конфликтовать с потоком, вызвавшим "switch_to_global_locale" в perlapi.
Вот как запросить базу данных для локали de (Deutsch или немецкий).
my $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" ); print "Locale: \"$loc\"\n"; my $lconv = POSIX::localeconv(); foreach my $property (qw( decimal_point thousands_sep grouping int_curr_symbol currency_symbol mon_decimal_point mon_thousands_sep mon_grouping positive_sign negative_sign int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes n_sep_by_space p_sign_posn n_sign_posn int_p_cs_precedes int_p_sep_by_space int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn )) { printf qq(%s: "%s",\n), $property, $lconv->{$property}; }Члены, имена которых начинаются с
int_p_иint_n_, были добавлены POSIX.1-2008 и доступны только на системах, поддерживающих их. localtime-
Это идентично встроенной функции Perl
localtime()для преобразования секунд с момента эпохи в дату, см. "localtime" в perlfunc, за исключением того, чтоPOSIX::localtime()должен быть предоставлен явным значением (вместо полагания на неявный$_) :@localtime = POSIX::localtime(time); # good @localtime = localtime(); # good @localtime = POSIX::localtime(); # throws exception log-
Это идентично встроенной функции Perl
log(), возвращающей натуральный (e-базированный) логарифм числового аргумента, см. "log" в perlfunc. log10-
Это идентично функции C
log10(), возвращающей логарифм по основанию 10 числового аргумента. Также можно использоватьsub log10 { log($_[0]) / log(10) }или
sub log10 { log($_[0]) / 2.30258509299405 }или
sub log10 { log($_[0]) * 0.434294481903252 } longjmp-
Не реализовано.
longjmp()специфично для C: используйте "die" в perlfunc вместо этого. lseek-
Изменить позицию чтения/записи файла. Использует дескрипторы файлов, такие как полученные вызовом
POSIX::open.$fd = POSIX::open( "foo", &POSIX::O_RDONLY ); $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );Возвращает
undefпри ошибке. lrint-
В зависимости от текущего режима округления с плавающей запятой, округляет аргумент либо к ближайшему (как "round"), либо к нулю (как "trunc"), либо вниз (к отрицательной бесконечности), либо вверх (к положительной бесконечности) [C99].
Для режима округления см. "fegetround".
lround-
Как "round", но как целое число, а не с плавающей запятой [C99].
См. также "ceil", "floor", "trunc".
Из-за упущения, в настоящее время он не экспортируется по умолчанию или как часть тега экспорта
:math_h_c99; поэтому его импорт необходимо выполнить по имени. malloc-
Не реализовано.
malloc()специфично для C. Perl прозрачно управляет памятью. mblen-
Это идентично функции C
mblen().Основной Perl не поддерживает широкие и многобайтовые символы стандартов C, за исключением локалей UTF-8, поэтому эта функция может быть довольно бесполезной.
Однако Perl поддерживает Unicode, см. perluniintro.
mbstowcs-
Это идентично функции C
mbstowcs().См. "mblen".
mbtowc-
Это идентично функции C
mbtowc().См. "mblen".
memchr-
Не реализовано.
memchr()специфично для C, см. "index" в perlfunc вместо этого. memcmp-
Не реализовано.
memcmp()специфично для C, используйтеeqвместо этого, см. perlop. memcpy-
Не реализовано.
memcpy()специфично для C, используйте=, см. perlop, или см. "substr" в perlfunc. memmove-
Не реализовано.
memmove()специфично для C, используйте=, см. perlop, или см. "substr" в perlfunc. memset-
Не реализовано.
memset()специфично для C, используйтеxвместо этого, см. perlop. mkdir-
Это идентично встроенной функции Perl
mkdir()для создания каталогов, см. "mkdir" в perlfunc. mkfifo-
Это аналогично функции C
mkfifo()для создания специальных файлов FIFO.if (mkfifo($path, $mode)) { ....Возвращает
undefпри ошибке.$modeаналогичен режимуmkdir(), см. "mkdir" в perlfunc, хотя дляmkfifoвы обязательно должны указать$mode. mktime-
Преобразовать информацию о дате/времени в календарное время.
Синтаксис:
mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = -1)Месяц (
mon), день недели (wday) и день года (yday) начинаются с нуля, т.е., январь - 0, а не 1; воскресенье - 0, а не 1; 1 января - 0, а не 1. Год (year) задаётся в годах с 1900; т.е., год 1995 - 95; год 2001 - 101. Обратитесь к странице руководстваmktime()вашей системы для получения подробной информации об этих и других аргументах.Календарное время для 12 декабря 1995 года в 10:30 утра.
$time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 ); print "Date = ", POSIX::ctime($time_t);Возвращает
undefпри ошибке. modf-
Возвратить целую и дробную части числа с плавающей запятой.
($fractional, $integral) = POSIX::modf( 3.14 );См. также "round".
NaN-
Число, не являющееся числом, как константа:
use POSIX qw(NaN); my $nan = NaN;См. также "nan",
/isnan, и "fpclassify". nan-
my $nan = nan();Возвращает
NaN, число, не являющееся числом [C99].Возвращаемое NaN всегда является тихим NaN, в отличие от сигнализирующего.
С аргументом можно использовать для генерации NaN с нагрузкой. Аргумент сначала интерпретируется как число с плавающей запятой, но затем любые дробные части усекаются (к нулю), и значение интерпретируется как целое без знака. Биты этого целого числа сохраняются в неиспользуемых битах NaN.
Результат имеет двойственную природу: это NaN, но он также несёт целое число внутри себя. Целое число можно извлечь с помощью "getpayload". Однако обратите внимание, что нагрузка не передаётся, даже при копировании и определённо не в арифметических операциях.
Сколько бит поместится в NaN, зависит от используемых чисел с плавающей запятой, но на наиболее распространённых платформах (64-битные IEEE 754 или 80-битные long doubles x86) доступно 51 и 61 бит соответственно. (Было бы 52 и 62, но бит quiet/signaling NaN занимает один бит.) Однако из-за преобразований число с плавающей запятой - целое - и обратно, тщательно проверьте, получаете ли вы то, что ввели. Если ваши целые числа имеют только 32 бита, вероятно, вам не следует полагаться на более чем 32 бита нагрузки.
Различие между «сигнализирующим» и «тихим» NaN зависит от платформы. Также обратите внимание, что нагрузка по умолчанию NaN (без аргумента для nan()) необязательно равна нулю, используйте
setpayloadдля явного задания нагрузки. На некоторых платформах, таких как 32-битный x86 (если не использовать 80-битные long doubles), бит сигнализации вообще не поддерживается.См. также "isnan", "NaN", "setpayload" и "issignaling".
nearbyint-
Возвращает ближайшее целое число к аргументу, в соответствии с текущим режимом округления (см. "fegetround") [C99].
nextafter-
Возвращает следующее представимое число с плавающей запятой после
xв направленииy[C99].my $nextafter = POSIX::nextafter($x, $y);Как "nexttoward", но потенциально менее точное.
nexttoward-
Возвращает следующее представимое число с плавающей запятой после
xв направленииy[C99].my $nexttoward = POSIX::nexttoward($x, $y);Как "nextafter", но потенциально более точное.
nice-
Это аналогично функции C
nice()для изменения приоритета планирования текущего процесса. Положительные аргументы означают более вежливый процесс, отрицательные значения - более нуждающийся. Обычные (не-root) пользовательские процессы могут изменять только в сторону вежливости.Возвращает
undefпри ошибке. offsetof-
Не реализовано.
offsetof()специфично для C, вы, вероятно, хотите посмотреть "pack" в perlfunc вместо этого. open-
Открыть файл для чтения или записи. Возвращает дескрипторы файлов, а не дескрипторы файлов Perl. Используйте
POSIX::closeдля закрытия файла.Открыть файл только для чтения с режимом 0666.
$fd = POSIX::open( "foo" );Открыть файл для чтения и записи.
$fd = POSIX::open( "foo", &POSIX::O_RDWR );Открыть файл для записи с усечением.
$fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );Создать новый файл с режимом 0640. Подготовить файл для записи.
$fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );Возвращает
undefпри ошибке.См. также "sysopen" в perlfunc.
opendir-
Открыть каталог для чтения.
$dir = POSIX::opendir( "/var" ); @files = POSIX::readdir( $dir ); POSIX::closedir( $dir );Возвращает
undefпри ошибке. pathconf
-
Получает значение конфигурируемого ограничения для файла или каталога.
Следующее определит максимальную длину самого длинного разрешенного пути к файловой системе, которая содержит
/var.$path_max = POSIX::pathconf( "/var", &POSIX::_PC_PATH_MAX );Возвращает
undefпри ошибке. pause-
Это аналогично функции C
pause(), которая приостанавливает выполнение текущего процесса до получения сигнала.Возвращает
undefпри ошибке. perror-
Это идентично функции C
perror(), которая выводит в поток стандартной ошибки указанное сообщение, за которым следует": "и текущее сообщение об ошибке. Используйте функциюwarn()и переменную$!, см. "warn" в perlfunc и "$ERRNO" в perlvar. pipe-
Создаёт канал межпроцессного взаимодействия. Возвращает дескрипторы файлов, подобные тем, которые возвращает
POSIX::open.my ($read, $write) = POSIX::pipe(); POSIX::write( $write, "hello", 5 ); POSIX::read( $read, $buf, 5 );См. также "pipe" в perlfunc.
pow-
Вычисляет
$xв степени$exponent.$ret = POSIX::pow( $x, $exponent );Также можно использовать оператор
**, см. perlop. printf-
Форматирует и выводит указанные аргументы в
STDOUT. См. также "printf" в perlfunc. putc-
Не реализовано.
putc()специфично для C, используйте "print" в perlfunc вместо этого. putchar-
Не реализовано.
putchar()специфично для C, используйте "print" в perlfunc вместо этого. puts-
Не реализовано.
puts()специфично для C, используйте "print" в perlfunc вместо этого. qsort-
Не реализовано.
qsort()специфично для C, используйте "sort" в perlfunc вместо этого. raise-
Отправляет указанный сигнал текущему процессу. См. также "kill" в perlfunc и
$$в "$PID" в perlvar. rand-
Не реализовано.
rand()не переносимо, используйте "rand" в perlfunc вместо этого. read-
Чтение из файла. Использует дескрипторы файлов, такие как те, которые получены вызовом
POSIX::open. Если буфер$bufнедостаточно велик для чтения, Perl расширит его, чтобы освободить место для запроса.$fd = POSIX::open( "foo", &POSIX::O_RDONLY ); $bytes = POSIX::read( $fd, $buf, 3 );Возвращает
undefпри ошибке.См. также "sysread" в perlfunc.
readdir-
Идентично встроенной в Perl функции
readdir()для чтения записей каталога, см. "readdir" в perlfunc. realloc-
Не реализовано.
realloc()специфично для C. Perl управляет памятью прозрачно. remainder-
Для заданных
xиyвозвращает значениеx - n*y, гдеn— целое число, ближайшее кx/y. [C99]my $remainder = POSIX::remainder($x, $y)См. также "remquo".
remove-
Идентично встроенной в Perl функции
unlink()для удаления файлов, см. "unlink" в perlfunc. remquo-
Подобно "remainder", но также возвращает младшие биты частного (n) [C99]
(Этот интерфейс довольно специфичен, в основном используется для реализации численных алгоритмов.)
rename-
Идентично встроенной в Perl функции
rename()для переименования файлов, см. "rename" в perlfunc. rewind-
Перемещает указатель в начало файла.
rewinddir-
Идентично встроенной в Perl функции
rewinddir()для перемотки потоков записей каталога, см. "rewinddir" в perlfunc. rint-
Идентично "lrint".
rmdir-
Идентично встроенной в Perl функции
rmdir()для удаления (пустых) каталогов, см. "rmdir" в perlfunc. round-
Возвращает ближайшее целое число (но всё ещё как число с плавающей точкой) к аргументу [C99].
scalbn-
Возвращает
x * 2**y[C99]. scanf-
Не реализовано.
scanf()специфично для C, используйте <> и регулярные выражения вместо этого, см. perlre. setgid-
Устанавливает действительный и эффективный идентификаторы группы для этого процесса. Аналогично присвоению значения переменной Perl
$), см. "$EGID" в perlvar, за исключением того, что последнее изменит только действительный идентификатор пользователя, а setgid() использует только один числовой аргумент, в отличие от списка чисел, разделённых пробелами. setjmp-
Не реализовано.
setjmp()специфично для C: используйтеeval {}вместо этого, см. "eval" в perlfunc. setlocale-
ВНИМАНИЕ! Не используйте эту функцию в потоке. Локаль изменится во всех других потоках одновременно, и если ваш поток приостановится операционной системой, а другой запустится, у этого потока не будет ожидаемой локальной настройки. На некоторых платформах может возникнуть гонка, приводящая к ошибкам сегментации, если два потока вызывают эту функцию почти одновременно.
Изменяет и запрашивает системную локаль программы. Пользователи этой функции должны прочитать perllocale, где подробно обсуждается обработка локали в Perl, знание которой необходимо для правильного использования этой функции. Он содержит раздел, посвящённый этой функции. Это описание здесь — лишь краткая справка для
setlocale(). Обратите внимание, что сам Perl практически не зависит от локали, за исключением области"use locale". (Исключения перечислены в "Not within the scope of "use locale"" в perllocale).Следующие примеры предполагают, что
use POSIX qw(setlocale LC_ALL LC_CTYPE);была выполнена.
Следующее установит поведение традиционной UNIX-системной локали (второй аргумент
"C").$loc = setlocale( LC_ALL, "C" );Следующее запросит текущую категорию
LC_CTYPE. (Отсутствие второго аргумента означает 'запрос'.)$loc = setlocale( LC_CTYPE );Следующее установит поведение
LC_CTYPEв соответствии с переменными среды локали (второй аргумент""). Пожалуйста, обратитесь к документации вашей системы по переменным среды локали или проконсультируйтесь с perllocale.$loc = setlocale( LC_CTYPE, "" );Следующее установит поведение
LC_COLLATEна аргентинский испанский язык. ПРИМЕЧАНИЕ: Названия и доступность локалей зависят от вашей операционной системы. Пожалуйста, обратитесь к perllocale, чтобы узнать, какие локали доступны в вашей системе.$loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" ); setpayload-
use POSIX ':nan_payload'; setpayload($var, $payload);Устанавливает
NaNpayload переменной var.ПРИМЕЧАНИЕ: API payload NaN основаны на последних (на июнь 2015 года) предложенных интерфейсах ISO C, но они ещё не являются стандартом. Вещи могут измениться.
См. "nan" для более подробного обсуждения
NaN.См. также "setpayloadsig", "isnan", "getpayload" и "issignaling".
setpayloadsig-
use POSIX ':nan_payload'; setpayloadsig($var, $payload);Как "setpayload", но также делает NaN сигнализирующим.
В зависимости от платформы NaN может или не может вести себя по-другому.
Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
Обратите внимание, что из-за работы форматов чисел с плавающей запятой на наиболее распространённых платформах следует избегать сигнального payload нуля, поскольку он может оказаться идентичным
+Inf.См. также "nan", "isnan", "getpayload" и "issignaling".
setpgid-
Это аналогично функции C
setpgid()для установки идентификатора группы процессов текущего процесса.Возвращает
undefпри ошибке. setsid-
Идентично функции C
setsid()для установки идентификатора сеанса текущего процесса. setuid-
Устанавливает действительный и эффективный идентификаторы пользователя для этого процесса. Аналогично присвоению значения встроенной переменной Perl
$<, см. "$UID" в perlvar, за исключением того, что последнее изменит только действительный идентификатор пользователя. sigaction
-
Подробное управление сигналами. Используются объекты
POSIX::SigActionдля аргументовactionиoldaction(старый_действие также может быть просто ссылкой на хеш). Для получения подробностей обратитесь к странице руководстваsigactionвашего системы, также см.POSIX::SigRt.Синопсис:
sigaction(signal, action, oldaction = 0)Возвращает
undefпри ошибке. Аргументsignalдолжен быть числом (например,SIGHUP), а не строкой (например,"SIGHUP"), хотя Perl старается вас понять.Если вы используете флаг
SA_SIGINFO, обработчик сигналов, помимо первого аргумента (имени сигнала), также получит второй аргумент — ссылку на хеш, внутри которого будут следующие ключи со следующей семантикой, как определено в POSIX/SUSv3:signo the signal number errno the error number code if this is zero or less, the signal was sent by a user process and the uid and pid make sense, otherwise the signal was sent by the kernelКонстанты для конкретных значений
codeможно импортировать индивидуально или используя тэг:signal_h_si_code.Следующие значения также определены в POSIX/SUSv3, но к сожалению, не очень широко реализованы:
pid the process id generating the signal uid the uid of the process id generating the signal status exit value or signal for SIGCHLD band band event for SIGPOLL addr address of faulting instruction or memory reference for SIGILL, SIGFPE, SIGSEGV or SIGBUSВ обработчик также передается третий аргумент, содержащий копию исходного двоичного содержимого структуры
siginfo: если система имеет некоторые не-POSIX поля, этот третий аргумент — место, откуда нужноunpack()их.Обратите внимание, что не все значения
siginfoимеют смысл одновременно (некоторые допустимы только для определенных сигналов, например), и не все значения имеют смысл с точки зрения Perl. Вы должны обратиться к документации вашей системыsigactionи, возможно, также к документацииsiginfo. siglongjmp-
Не реализовано.
siglongjmp()— это специфично для C: используйте вместо этого "die" в perlfunc. signbit-
Возвращает ноль для положительных аргументов и ненулевое значение для отрицательных аргументов [C99].
sigpending-
Проверка заблокированных и ожидающих сигналов. Используются объекты
POSIX::SigSetдля аргументаsigset. Для получения подробностей обратитесь к странице руководстваsigpendingвашей системы.Синопсис:
sigpending(sigset)Возвращает
undefпри ошибке. sigprocmask-
Изменение и/или проверка маски сигналов вызывающего процесса. Используются объекты
POSIX::SigSetдля аргументовsigsetиoldsigset. Для получения подробностей обратитесь к странице руководстваsigprocmaskвашей системы.Синопсис:
sigprocmask(how, sigset, oldsigset = 0)Возвращает
undefпри ошибке.Обратите внимание, что вы не можете надежно заблокировать или разблокировать сигнал из его собственного обработчика сигналов, если вы используете безопасные сигналы. Другие сигналы можно надежно блокировать или разблокировать.
sigsetjmp-
Не реализовано.
sigsetjmp()— это специфично для C: используйте вместо этогоeval {}, см. "eval" в perlfunc. sigsuspend-
Установка маски сигнала и приостановка процесса до получения сигнала. Используются объекты
POSIX::SigSetдля аргументаsignal_mask. Для получения подробностей обратитесь к странице руководстваsigsuspendвашей системы.Синопсис:
sigsuspend(signal_mask)Возвращает
undefпри ошибке. sin-
Это идентично встроенной функции Perl
sin()для возвращения синуса числового аргумента, см. "sin" в perlfunc. См. также Math::Trig. sinh-
Это идентично функции C
sinh()для возвращения гиперболического синуса числового аргумента. См. также Math::Trig. sleep-
Функционально идентично встроенной функции Perl
sleep()для приостановки выполнения текущего процесса на определённое количество секунд, см. "sleep" в perlfunc. Однако есть одно существенное различие:POSIX::sleep()возвращает количество неиспользованных секунд, в то время какCORE::sleep()возвращает количество проспанных секунд. sprintf-
Это похоже на встроенную функцию Perl
sprintf()для возвращения строки с отформатированными аргументами, как запрошено, см. "sprintf" в perlfunc. sqrt-
Это идентично встроенной функции Perl
sqrt()для возвращения квадратного корня числового аргумента, см. "sqrt" в perlfunc. srand-
Установить начальное значение для генератора псевдослучайных чисел, см. "srand" в perlfunc.
sscanf-
Не реализовано.
sscanf()— это специфично для C, используйте вместо этого регулярные выражения, см. perlre. stat-
Это идентично встроенной функции Perl
stat()для получения информации о файлах и каталогах. strcat-
Не реализовано.
strcat()— это специфично для C, используйте вместо этого.=, см. perlop. strchr-
Не реализовано.
strchr()— это специфично для C, см. "index" в perlfunc вместо этого. strcmp-
Не реализовано.
strcmp()— это специфично для C, используйте вместо этогоeqилиcmp, см. perlop. strcoll-
Это идентично функции C
strcoll()для сортировки (сравнения) строк, преобразованных с помощью функцииstrxfrm(). Не требуется, так как Perl может делать это прозрачно, см. perllocale.Обратите внимание, что в локале UTF-8 всё, что вы передаете в эту функцию, должно быть в UTF-8; а когда не в локале UTF-8, передаваемое значение не должно быть закодировано в UTF-8.
strcpy-
Не реализовано.
strcpy()— это специфично для C, используйте вместо этого=, см. perlop. strcspn-
Не реализовано.
strcspn()— это специфично для C, используйте вместо этого регулярные выражения, см. perlre. strerror-
Возвращает строку ошибки для указанного errno. Идентично строковой форме
$!, см. "$ERRNO" в perlvar. strftime-
Преобразование информации о дате и времени в строку. Возвращает строку.
Синопсис:
strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)Месяц (
mon), день недели (wday) и день в году (yday) начинаются с нуля, т.е., январь — 0, а не 1; воскресенье — 0, а не 1; 1 января — 0, а не 1. Год (year) задается в годах с 1900, т.е., 1995 год — 95; 2001 год — 101. Для получения подробностей об этих и других аргументах обратитесь к странице руководстваstrftime()вашей системы.Для обеспечения портативности кода ваш аргумент формата (
fmt) должен использовать только спецификаторы преобразования, определенные стандартом ANSI C (C89, на всякий случай). ЭтоaAbBcdHIjmMpSUwWxXyYZ%. Но даже тогда результаты некоторых спецификаторов преобразования не портативны. Например, спецификаторыaAbBcpZизменяются в зависимости от настроек локали пользователя, и как устанавливать локали (имена локалей), и какие ожидать результаты — нестандартно. Спецификаторcизменяется в зависимости от настроек часового пояса пользователя и правил вычисления часового пояса операционной системы. СпецификаторZизвестен своей непортативностью, так как названия часовых поясов нестандартны. Придерживаться числовых спецификаторов — самый безопасный путь.Указанные аргументы согласуются так, как будто перед вызовом вашей системной функции
strftime()была вызванаmktime(), за исключением того, что значениеisdstне затронуто.Строка для вторника, 12 декабря 1995 года.
$str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 ); print "$str\n"; strlen-
Не реализовано.
strlen()— это специфично для C, используйте вместо этогоlength(), см. "length" в perlfunc. strncat-
Не реализовано.
strncat()— это специфично для C, используйте вместо этого.=, см. perlop. strncmp-
Не реализовано.
strncmp()— это специфично для C, используйте вместо этогоeq, см. perlop. strncpy-
Не реализовано.
strncpy()— это специфично для C, используйте вместо этого=, см. perlop. strpbrk-
Не реализовано.
strpbrk()— это специфично для C, используйте вместо этого регулярные выражения, см. perlre. strrchr-
Не реализовано.
strrchr()— это специфично для C, см. "rindex" в perlfunc вместо этого. strspn-
Не реализовано.
strspn()— это специфично для C, используйте вместо этого регулярные выражения, см. perlre. strstr-
Это идентично встроенной функции Perl
index(), см. "index" в perlfunc. strtod
-
Перевод строки в число с плавающей точкой. Возвращает разобранное число и количество символов в неразборной части строки. Настоящие системы, совместимые с POSIX, устанавливают
$!($ERRNO) для указания ошибки перевода, поэтому очистите$!перед вызовомstrtod. Однако, системы, несовместимые с POSIX, могут не проверять переполнение, и поэтому никогда не установят$!.strtodучитывает любые параметры POSIXsetlocale()LC_TIME, независимо от того, вызван ли он из кода Perl, который находится в области действияuse locale. Это означает, что его не следует использовать в многопоточной программе, если не известно наверняка, что базовый язык локализации — C или POSIX. Это происходит потому, что в противном случае он изменяет локаль, которая глобально влияет на все потоки одновременно.Для разбора строки
$strкак числа с плавающей точкой используйте$! = 0; ($num, $n_unparsed) = POSIX::strtod($str);Второй возвращаемый элемент и
$!могут использоваться для проверки правильности входных данных:if (($str eq '') || ($n_unparsed != 0) || $!) { die "Non-numeric input $str" . ($! ? ": $!\n" : "\n"); }При вызове в скалярном контексте
strtodвозвращает разобранное число. strtok-
Не реализовано.
strtok()специфичен для C, используйте вместо этого регулярные выражения, см. perlre или "split" в perlfunc. strtol-
Перевод строки в целое число (long). Возвращает разобранное число и количество символов в неразборной части строки. Настоящие системы, совместимые с POSIX, устанавливают
$!($ERRNO) для указания ошибки перевода, поэтому очистите$!перед вызовомstrtol. Однако, системы, несовместимые с POSIX, могут не проверять переполнение, и поэтому никогда не установят$!.strtolдолжен учитывать любые параметры POSIX setlocale().Для разбора строки
$strкак числа в определённой системе счисления$baseиспользуйте$! = 0; ($num, $n_unparsed) = POSIX::strtol($str, $base);Система счисления должна быть равна нулю или находиться в диапазоне от 2 до 36 включительно. Если система счисления равна нулю или опущена,
strtolбудет использовать строку для определения системы счисления: префикс "0x" или "0X" означает шестнадцатеричную систему; префикс "0" означает восьмеричную; любые другие начальные символы означают десятичную. Таким образом, "1234" разбирается как десятичное число, "01234" как восьмеричное, а "0x1234" как шестнадцатеричное.Второй возвращаемый элемент и
$!могут использоваться для проверки правильности входных данных:if (($str eq '') || ($n_unparsed != 0) || !$!) { die "Non-numeric input $str" . $! ? ": $!\n" : "\n"; }При вызове в скалярном контексте
strtolвозвращает разобранное число. strtold-
Аналогично "strtod", но для длинных чисел двойной точности. Определяется только если система поддерживает длинные числа двойной точности.
strtoul-
Перевод строки в беззнаковое целое число (long).
strtoul()идентичноstrtol()за исключением того, чтоstrtoul()анализирует только беззнаковые целые числа. Подробнее см. "strtol".Примечание: некоторые поставщики предоставляют
strtod()иstrtol(), но неstrtoul(). Другие поставщики, которые предоставляютstrtoul(), интерпретируют "-1" как допустимое значение. strxfrm-
Преобразование строки. Возвращает преобразованную строку.
$dst = POSIX::strxfrm( $src );Используется совместно с функцией
strcoll(), см. "strcoll".На самом деле это не нужно, так как Perl может делать это прозрачно, см. perllocale.
Обратите внимание, что в локалях UTF-8 все, что вы передаете этой функции, должно быть в UTF-8; а в локалях, не являющихся UTF-8, переданное значение не должно быть закодировано в UTF-8.
sysconf-
Получает значения системных конфигурируемых переменных.
Следующее получит тактовую частоту процессора.
$clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );Возвращает
undefпри ошибке. system-
Идентично встроенной функции Perl
system(), см. "system" в perlfunc. tan-
Идентично функции C
tan(), возвращающей тангенс числового аргумента. См. также Math::Trig. tanh-
Идентично функции C
tanh(), возвращающей гиперболический тангенс числового аргумента. См. также Math::Trig. tcdrain-
Аналогично функции C
tcdrain()для удаления очереди вывода потока.Возвращает
undefпри ошибке. tcflow-
Аналогично функции C
tcflow()для управления потоком входного потока.Возвращает
undefпри ошибке. tcflush-
Аналогично функции C
tcflush()для сброса буферов ввода-вывода потока.Возвращает
undefпри ошибке. tcgetpgrp-
Идентично функции C
tcgetpgrp()для возвращения идентификатора группы процессов переднего плана управляющего терминала. tcsendbreak-
Аналогично функции C
tcsendbreak()для отправки сигнала прерывания по потоку.Возвращает
undefпри ошибке. tcsetpgrp-
Аналогично функции C
tcsetpgrp()для установки идентификатора группы процессов переднего плана управляющего терминала.Возвращает
undefпри ошибке. tgamma-
Функция Гамма [C99].
См. также "lgamma".
time-
Идентично встроенной функции Perl
time()для возвращения количества секунд, прошедших с эпохи (какой она является для системы), см. "time" в perlfunc. times-
Функция
times()возвращает прошедшее реальное время с момента начала отсчета (например, с момента запуска системы), время пользователя и системы для данного процесса, а также время пользователя и системы, используемые дочерними процессами. Все времена возвращаются в тактах часов.($realtime, $user, $system, $cuser, $csystem) = POSIX::times();Примечание: встроенная функция Perl
times()возвращает четыре значения, измеренные в секундах. tmpfile-
Не реализовано. Используйте метод
IO::File::new_tmpfile()вместо этого или см. File::Temp. tmpnam-
По соображениям безопасности, которые, вероятно, подробно описаны в документации вашей системы для функции C-библиотеки
tmpnam(), этот интерфейс больше недоступен; используйте вместо этого File::Temp. tolower-
Идентично функции C, за исключением того, что может применяться к одному символу или целой строке, и в настоящее время работает так, как будто локаль всегда равна "C". Рассмотрите использование функции
lc(), см. "lc" в perlfunc, см. "lc" в perlfunc или эквивалентный оператор\Lвнутри двойных кавычек. toupper-
Аналогично функции C, за исключением того, что может применяться к одному символу или целой строке, и в настоящее время работает так, как будто локаль всегда равна "C". Рассмотрите использование функции
uc(), см. "uc" в perlfunc, или эквивалентный оператор\Uвнутри двойных кавычек. trunc-
Возвращает целую часть аргумента, направленную к нулю [C99].
ttyname-
Идентично функции C
ttyname()для возвращения имени текущего терминала. tzname-
Получает информацию о преобразовании времени из переменной
tzname.POSIX::tzset(); ($std, $dst) = POSIX::tzname(); tzset-
Идентично функции C
tzset()для установки текущей временной зоны на основе переменной окруженияTZ, которая используется функциямиctime(),localtime(),mktime()иstrftime(). umask-
Идентично встроенной функции Perl
umask()для установки (и запроса) маски разрешений для создания файлов, см. "umask" в perlfunc. uname-
Получение имени текущей операционной системы.
($sysname, $nodename, $release, $version, $machine) = POSIX::uname();Обратите внимание, что фактические значения различных полей не стандартизированы, не ожидайте большой переносимости.
$sysnameможет быть именем операционной системы,$nodename— именем хоста,$release— номером основной версии операционной системы,$version— номером дополнительной версии операционной системы, а$machine— идентификатором оборудования. Возможно. ungetc-
Не реализовано. Используйте метод
IO::Handle::ungetc()вместо этого. unlink-
Идентично встроенной функции Perl
unlink()для удаления файлов, см. "unlink" в perlfunc. utime-
Идентично встроенной функции Perl
utime()для изменения временных меток файлов и каталогов, см. "utime" в perlfunc. vfprintf-
Не реализовано.
vfprintf()специфичен для C, используйте вместо этого "printf" в perlfunc. vprintf-
Не реализовано.
vprintf()специфичен для C, используйте вместо этого "printf" в perlfunc. vsprintf-
Не реализовано.
vsprintf()специфичен для C, используйте вместо этого "sprintf" в perlfunc. wait-
Идентично встроенной функции Perl
wait(), см. "wait" в perlfunc. waitpid
-
Дождитесь изменения состояния дочернего процесса. Это идентично встроенной функции Perl
waitpid(), см. "waitpid" в perlfunc.$pid = POSIX::waitpid( -1, POSIX::WNOHANG ); print "status = ", ($? / 256), "\n"; wcstombs-
Это идентично функции C
wcstombs().См. "mblen".
wctomb-
Это идентично функции C
wctomb().См. "mblen".
write-
Запись в файл. Используются дескрипторы файлов, такие как те, которые получены с помощью вызова
POSIX::open.$fd = POSIX::open( "foo", &POSIX::O_WRONLY ); $buf = "hello"; $bytes = POSIX::write( $fd, $buf, 5 );Возвращает
undefпри ошибке.См. также "syswrite" в perlfunc.
КЛАССЫ
POSIX::SigAction
new-
Создает новый объект
POSIX::SigAction, который соответствует Cstruct sigaction. Этот объект будет уничтожен автоматически, когда он больше не нужен. Первый параметр — обработчик, ссылка на подпрограмму. Второй параметр — объектPOSIX::SigSet, по умолчанию пустой. Третий параметр содержитsa_flags, по умолчанию 0.$sigset = POSIX::SigSet->new(SIGINT, SIGQUIT); $sigaction = POSIX::SigAction->new( \&handler, $sigset, &POSIX::SA_NOCLDSTOP );Этот объект
POSIX::SigActionпредназначен для использования с функциейPOSIX::sigaction().
handlermaskflags-
Функции-акцессоры для получения/установки значений объекта SigAction.
$sigset = $sigaction->mask; $sigaction->flags(&POSIX::SA_RESTART); safe-
Функция-акцессор для флага «безопасные сигналы» объекта SigAction; см. perlipc для общей информации о безопасных (также известных как «отложенные») сигналах. Если вы хотите обработать сигнал безопасно, используйте этот акцессор для установки флага «безопасный» в объекте
POSIX::SigAction:$sigaction->safe(1);Вы также можете проверить флаг «безопасный» в выходном объекте действия, который заполняется при передаче в качестве третьего параметра функции
POSIX::sigaction():sigaction(SIGINT, $new_action, $old_action); if ($old_action->safe) { # previous SIGINT handler used safe signals }
POSIX::SigRt
-
%SIGRT -
Хэш обработчиков сигналов реального времени POSIX. Это расширение стандартного
%SIG,$POSIX::SIGRT{SIGRTMIN}примерно эквивалентно$SIG{SIGRTMIN}, но правильные POSIX-перемещения (см. ниже) выполняются сPOSIX::SigSetиPOSIX::sigactionвместо доступа к%SIG.Вы можете установить элементы
%POSIX::SIGRTдля установки обработчиков сигналов реального времени POSIX, использоватьdeleteиexistsдля элементов и использоватьscalarдля%POSIX::SIGRTчтобы узнать, сколько доступно сигналов реального времени POSIX(SIGRTMAX - SIGRTMIN + 1,SIGRTMAX— это допустимый сигнал реального времени POSIX.Установка элементов
%SIGRTэквивалентна вызову:sub new { my ($rtsig, $handler, $flags) = @_; my $sigset = POSIX::SigSet($rtsig); my $sigact = POSIX::SigAction->new($handler,$sigset,$flags); sigaction($rtsig, $sigact); }Флаги по умолчанию равны нулю. Если вам нужно другое значение, вы можете использовать
localдля$POSIX::SigRt::SIGACTION_FLAGS, или вы можете наследоваться от POSIX::SigRt и определить собственнуюnew()(метод STORE связанного хэша%SIGRTвызываетnew($rtsig, $handler, $SIGACTION_FLAGS), где значение$rtsigизменяется от нуля доSIGRTMAX - SIGRTMIN + 1).Как и с любым сигналом, вы можете использовать
sigaction($rtsig, undef, $oa)для получения установленного обработчика сигнала (или, скорее, действия сигнала).ПРИМЕЧАНИЕ: вопрос о том, действительно ли сигналы реального времени POSIX работают в вашей системе или Perl был скомпилирован для их поддержки, выходит за рамки этого обсуждения.
SIGRTMIN-
Возвращает минимальное доступное число сигнала реального времени POSIX или
undef, если сигналы реального времени POSIX недоступны. SIGRTMAX-
Возвращает максимальное доступное число сигнала реального времени POSIX или
undef, если сигналы реального времени POSIX недоступны.
POSIX::SigSet
new-
Создает новый объект SigSet. Этот объект будет уничтожен автоматически, когда он больше не нужен. Аргументы могут быть предоставлены для инициализации набора.
Создает пустой набор.
$sigset = POSIX::SigSet->new;Создает набор с
SIGUSR1.$sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 ); addset-
Добавляет сигнал в объект SigSet.
$sigset->addset( &POSIX::SIGUSR2 );Возвращает
undefпри ошибке. delset-
Удаляет сигнал из объекта SigSet.
$sigset->delset( &POSIX::SIGUSR2 );Возвращает
undefпри ошибке. emptyset-
Инициализирует объект SigSet как пустой.
$sigset->emptyset();Возвращает
undefпри ошибке. fillset-
Инициализирует объект SigSet, включив все сигналы.
$sigset->fillset();Возвращает
undefпри ошибке. ismember-
Проверяет, содержит ли объект SigSet определенный сигнал.
if( $sigset->ismember( &POSIX::SIGUSR1 ) ){ print "contains SIGUSR1\n"; }
POSIX::Termios
new-
Создайте новый объект Termios. Этот объект будет уничтожен автоматически, когда он больше не нужен. Объект Termios соответствует структуре
termiosC.new()выделяет новый объект,getattr()заполняет его данными из дескриптора файла, иsetattr()устанавливает параметры дескриптора файла, чтобы соответствовать содержимому Termios.$termios = POSIX::Termios->new; getattr-
Получить атрибуты управления терминалом.
Получить атрибуты для
stdin.$termios->getattr( 0 ) # Recommended for clarity. $termios->getattr()Получить атрибуты для stdout.
$termios->getattr( 1 )Возвращает
undefпри ошибке. getcc-
Извлечь значение из поля
c_ccобъектаtermios. Полеc_ccявляется массивом, поэтому необходимо указать индекс.$c_cc[1] = $termios->getcc(1); getcflag-
Извлечь поле
c_cflagобъектаtermios.$c_cflag = $termios->getcflag; getiflag-
Извлечь поле
c_iflagобъектаtermios.$c_iflag = $termios->getiflag; getispeed-
Извлечь скорость передачи данных на вход.
$ispeed = $termios->getispeed; getlflag-
Извлечь поле
c_lflagобъектаtermios.$c_lflag = $termios->getlflag; getoflag-
Извлечь поле
c_oflagобъектаtermios.$c_oflag = $termios->getoflag; getospeed-
Извлечь скорость передачи данных на выход.
$ospeed = $termios->getospeed; setattr-
Установить атрибуты управления терминалом.
Немедленно установить атрибуты для stdout.
$termios->setattr( 1, &POSIX::TCSANOW );Возвращает
undefпри ошибке. setcc-
Установить значение в поле
c_ccобъектаtermios. Полеc_ccявляется массивом, поэтому необходимо указать индекс.$termios->setcc( &POSIX::VEOF, 1 ); setcflag-
Установить поле
c_cflagобъектаtermios.$termios->setcflag( $c_cflag | &POSIX::CLOCAL ); setiflag-
Установить поле
c_iflagобъектаtermios.$termios->setiflag( $c_iflag | &POSIX::BRKINT ); setispeed-
Установить скорость передачи данных на вход.
$termios->setispeed( &POSIX::B9600 );Возвращает
undefпри ошибке. setlflag-
Установить поле
c_lflagобъектаtermios.$termios->setlflag( $c_lflag | &POSIX::ECHO ); setoflag-
Установить поле
c_oflagобъектаtermios.$termios->setoflag( $c_oflag | &POSIX::OPOST ); setospeed-
Установить скорость передачи данных на выход.
$termios->setospeed( &POSIX::B9600 );Возвращает
undefпри ошибке. - Значения скорости передачи данных
-
B38400B75B200B134B300B1800B150B0B19200B1200B9600B600B4800B50B2400B110 - Значения параметров интерфейса терминала
-
TCSADRAINTCSANOWTCOONTCIOFLUSHTCOFLUSHTCIONTCIFLUSHTCSAFLUSHTCIOFFTCOOFF -
Значения поля
c_cc -
VEOFVEOLVERASEVINTRVKILLVQUITVSUSPVSTARTVSTOPVMINVTIMENCCS -
Значения поля
c_cflag -
CLOCALCREADCSIZECS5CS6CS7CS8CSTOPBHUPCLPARENBPARODD -
Значения поля
c_iflag -
BRKINTICRNLIGNBRKIGNCRIGNPARINLCRINPCKISTRIPIXOFFIXONPARMRK -
Значения поля
c_lflag -
ECHOECHOEECHOKECHONLICANONIEXTENISIGNOFLSHTOSTOP -
Значения поля
c_oflag -
OPOST
КОНСТАНТЫ ИМЕНЬ ПУТЕЙ
- Константы
-
_PC_CHOWN_RESTRICTED_PC_LINK_MAX_PC_MAX_CANON_PC_MAX_INPUT_PC_NAME_MAX_PC_NO_TRUNC_PC_PATH_MAX_PC_PIPE_BUF_PC_VDISABLE
КОНСТАНТЫ POSIX
- Константы
-
_POSIX_ARG_MAX_POSIX_CHILD_MAX_POSIX_CHOWN_RESTRICTED_POSIX_JOB_CONTROL_POSIX_LINK_MAX_POSIX_MAX_CANON_POSIX_MAX_INPUT_POSIX_NAME_MAX_POSIX_NGROUPS_MAX_POSIX_NO_TRUNC_POSIX_OPEN_MAX_POSIX_PATH_MAX_POSIX_PIPE_BUF_POSIX_SAVED_IDS_POSIX_SSIZE_MAX_POSIX_STREAM_MAX_POSIX_TZNAME_MAX_POSIX_VDISABLE_POSIX_VERSION
КОНСТАНТЫ РЕСУРСОВ
Импортировано с помощью тега :sys_resource_h.
- Константы
-
PRIO_PROCESSPRIO_PGRPPRIO_USER
КОНФИГУРАЦИЯ СИСТЕМЫ
- Константы
-
_SC_ARG_MAX_SC_CHILD_MAX_SC_CLK_TCK_SC_JOB_CONTROL_SC_NGROUPS_MAX_SC_OPEN_MAX_SC_PAGESIZE_SC_SAVED_IDS_SC_STREAM_MAX_SC_TZNAME_MAX_SC_VERSION
ERRNO
- Константы
-
E2BIGEACCESEADDRINUSEEADDRNOTAVAILEAFNOSUPPORTEAGAINEALREADYEBADFEBADMSGEBUSYECANCELEDECHILDECONNABORTEDECONNREFUSEDECONNRESETEDEADLKEDESTADDRREQEDOMEDQUOTEEXISTEFAULTEFBIGEHOSTDOWNEHOSTUNREACHEIDRMEILSEQEINPROGRESSEINTREINVALEIOEISCONNEISDIRELOOPEMFILEEMLINKEMSGSIZEENAMETOOLONGENETDOWNENETRESETENETUNREACHENFILEENOBUFSENODATAENODEVENOENTENOEXECENOLCKENOLINKENOMEMENOMSGENOPROTOOPTENOSPCENOSRENOSTRENOSYSENOTBLKENOTCONNENOTDIRENOTEMPTYENOTRECOVERABLEENOTSOCKENOTSUPENOTTYENXIOEOPNOTSUPPEOTHEREOVERFLOWEOWNERDEADEPERMEPFNOSUPPORTEPIPEEPROCLIMEPROTOEPROTONOSUPPORTEPROTOTYPEERANGEEREMOTEERESTARTEROFSESHUTDOWNESOCKTNOSUPPORTESPIPEESRCHESTALEETIMEETIMEDOUTETOOMANYREFSETXTBSYEUSERSEWOULDBLOCKEXDEV
FCNTL
- Константы
-
FD_CLOEXECF_DUPFDF_GETFDF_GETFLF_GETLKF_OKF_RDLCKF_SETFDF_SETFLF_SETLKF_SETLKWF_UNLCKF_WRLCKO_ACCMODEO_APPENDO_CREATO_EXCLO_NOCTTYO_NONBLOCKO_RDONLYO_RDWRO_TRUNCO_WRONLY
FLOAT
- Константы
-
DBL_DIGDBL_EPSILONDBL_MANT_DIGDBL_MAXDBL_MAX_10_EXPDBL_MAX_EXPDBL_MINDBL_MIN_10_EXPDBL_MIN_EXPFLT_DIGFLT_EPSILONFLT_MANT_DIGFLT_MAXFLT_MAX_10_EXPFLT_MAX_EXPFLT_MINFLT_MIN_10_EXPFLT_MIN_EXPFLT_RADIXFLT_ROUNDSLDBL_DIGLDBL_EPSILONLDBL_MANT_DIGLDBL_MAXLDBL_MAX_10_EXPLDBL_MAX_EXPLDBL_MINLDBL_MIN_10_EXPLDBL_MIN_EXP
Окружение с плавающей точкой
- Константы
-
FE_DOWNWARDFE_TONEARESTFE_TOWARDZEROFE_UPWARDна системах, которые их поддерживают.
Пределы
- Константы
-
ARG_MAXCHAR_BITCHAR_MAXCHAR_MINCHILD_MAXINT_MAXINT_MINLINK_MAXLONG_MAXLONG_MINMAX_CANONMAX_INPUTMB_LEN_MAXNAME_MAXNGROUPS_MAXOPEN_MAXPATH_MAXPIPE_BUFSCHAR_MAXSCHAR_MINSHRT_MAXSHRT_MINSSIZE_MAXSTREAM_MAXTZNAME_MAXUCHAR_MAXUINT_MAXULONG_MAXUSHRT_MAX
Локализация
- Константы
-
LC_ALLLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIMELC_MESSAGESна системах, которые их поддерживают.
Математика
- Константы
-
HUGE_VALFP_ILOGB0FP_ILOGBNANFP_INFINITEFP_NANFP_NORMALFP_SUBNORMALFP_ZEROINFINITYNANInfNaNM_1_PIM_2_PIM_2_SQRTPIM_EM_LN10M_LN2M_LOG10EM_LOG2EM_PIM_PI_2M_PI_4M_SQRT1_2M_SQRT2на системах с поддержкой C99.
Сигнал
- Константы
-
SA_NOCLDSTOPSA_NOCLDWAITSA_NODEFERSA_ONSTACKSA_RESETHANDSA_RESTARTSA_SIGINFOSIGABRTSIGALRMSIGCHLDSIGCONTSIGFPESIGHUPSIGILLSIGINTSIGKILLSIGPIPESIGQUITSIGSEGVSIGSTOPSIGTERMSIGTSTPSIGTTINSIGTTOUSIGUSR1SIGUSR2SIG_BLOCKSIG_DFLSIG_ERRSIG_IGNSIG_SETMASKSIG_UNBLOCKILL_ILLOPCILL_ILLOPNILL_ILLADRILL_ILLTRPILL_PRVOPCILL_PRVREGILL_COPROCILL_BADSTKFPE_INTDIVFPE_INTOVFFPE_FLTDIVFPE_FLTOVFFPE_FLTUNDFPE_FLTRESFPE_FLTINVFPE_FLTSUBSEGV_MAPERRSEGV_ACCERRBUS_ADRALNBUS_ADRERRBUS_OBJERRTRAP_BRKPTTRAP_TRACECLD_EXITEDCLD_KILLEDCLD_DUMPEDCLD_TRAPPEDCLD_STOPPEDCLD_CONTINUEDPOLL_INPOLL_OUTPOLL_MSGPOLL_ERRPOLL_PRIPOLL_HUPSI_USERSI_QUEUESI_TIMERSI_ASYNCIOSI_MESGQ
Статистика
- Константы
-
S_IRGRPS_IROTHS_IRUSRS_IRWXGS_IRWXOS_IRWXUS_ISGIDS_ISUIDS_IWGRPS_IWOTHS_IWUSRS_IXGRPS_IXOTHS_IXUSR - Макросы
-
S_ISBLKS_ISCHRS_ISDIRS_ISFIFOS_ISREG
Библиотека стандартных функций
- Константы
-
EXIT_FAILUREEXIT_SUCCESSMB_CUR_MAXRAND_MAX
Ввод/Вывод
- Константы
-
BUFSIZEOFFILENAME_MAXL_ctermidL_cuseridTMP_MAX
Время
- Константы
-
CLK_TCKCLOCKS_PER_SEC
UNISTD
- Константы
-
R_OKSEEK_CURSEEK_ENDSEEK_SETSTDIN_FILENOSTDOUT_FILENOSTDERR_FILENOW_OKX_OK
Ожидание
- Константы
-
WNOHANGWUNTRACEDWNOHANG-
Не приостанавливать вызывающий процесс, пока дочерний процесс не изменит состояние, а сразу возвращаться.
WUNTRACED-
Обрабатывать остановленные дочерние процессы.
- Макросы
-
WIFEXITEDWEXITSTATUSWIFSIGNALEDWTERMSIGWIFSTOPPEDWSTOPSIGWIFEXITED-
WIFEXITED(${^CHILD_ERROR_NATIVE})возвращает true, если дочерний процесс завершился нормально (exit()или завершился по завершенииmain()) WEXITSTATUS-
WEXITSTATUS(${^CHILD_ERROR_NATIVE})возвращает нормальный код завершения дочернего процесса (имеет смысл только еслиWIFEXITED(${^CHILD_ERROR_NATIVE})равно true) WIFSIGNALED-
WIFSIGNALED(${^CHILD_ERROR_NATIVE})возвращает true, если дочерний процесс завершился из-за сигнала WTERMSIG-
WTERMSIG(${^CHILD_ERROR_NATIVE})возвращает сигнал, из-за которого завершился дочерний процесс (имеет смысл только еслиWIFSIGNALED(${^CHILD_ERROR_NATIVE})равно true) WIFSTOPPED-
WIFSTOPPED(${^CHILD_ERROR_NATIVE})возвращает true, если дочерний процесс в данный момент приостановлен (может произойти только если вы указали флаг WUNTRACED дляwaitpid()) WSTOPSIG-
WSTOPSIG(${^CHILD_ERROR_NATIVE})возвращает сигнал, из-за которого дочерний процесс был приостановлен (имеет смысл только еслиWIFSTOPPED(${^CHILD_ERROR_NATIVE})равно true)
WINSOCK
(Только Windows.)
- Константы
-
WSAEINTRWSAEBADFWSAEACCESWSAEFAULTWSAEINVALWSAEMFILEWSAEWOULDBLOCKWSAEINPROGRESSWSAEALREADYWSAENOTSOCKWSAEDESTADDRREQWSAEMSGSIZEWSAEPROTOTYPEWSAENOPROTOOPTWSAEPROTONOSUPPORTWSAESOCKTNOSUPPORTWSAEOPNOTSUPPWSAEPFNOSUPPORTWSAEAFNOSUPPORTWSAEADDRINUSEWSAEADDRNOTAVAILWSAENETDOWNWSAENETUNREACHWSAENETRESETWSAECONNABORTEDWSAECONNRESETWSAENOBUFSWSAEISCONNWSAENOTCONNWSAESHUTDOWNWSAETOOMANYREFSWSAETIMEDOUTWSAECONNREFUSEDWSAELOOPWSAENAMETOOLONGWSAEHOSTDOWNWSAEHOSTUNREACHWSAENOTEMPTYWSAEPROCLIMWSAEUSERSWSAEDQUOTWSAESTALEWSAEREMOTEWSAEDISCONWSAENOMOREWSAECANCELLEDWSAEINVALIDPROCTABLEWSAEINVALIDPROVIDERWSAEPROVIDERFAILEDINITWSAEREFUSED
© 1993–2020 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.28.3/POSIX