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 Compliance Test Suites). Например, один поставщик может не определить EDEADLK, или семантика значений errno, установленных open(2), может быть не совсем правильной. Perl не пытается проверить соответствие POSIX. Это означает, что вы можете сейчас успешно сказать "use POSIX", а затем позже в вашей программе обнаружите, что ваш поставщик был недостаточно строг, и нет ни одного применимого ICANON макроса.
ФУНКЦИИ
-
_exit -
Это идентично функции C
_exit(). Она немедленно завершает программу, что означает, в том числе, что буферизированный ввод-вывод не сбрасывается.Обратите внимание, что при использовании потоков и в Linux это не лучший способ завершить поток, потому что в Linux процессы и потоки в чем-то похожи (Примечание: хотя это положение в начале 2003 года, ведутся проекты по обеспечению потоков с более POSIX-совместимой семантикой в Linux). Если вы хотите не возвращаться из потока, отсоедините его.
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Как и с встроенной функцией
chmod(),$fileможет быть именем файла или дескриптором файла. 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[POSIX.1-1988] -
Получить имя пользователя владельца текущего процесса.
$name = POSIX::cuserid();Примечание: эта функция не была указана POSIX с 1990 года и включена только для обратной совместимости. Новый код должен использовать
getlogin()вместо этого. 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. Возвращаемые данные идентичны данным из встроенной функции Perlstat.$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" в perlrecharclass. isalpha-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alpha:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isatty-
Возвращает булево значение, указывающее, подключен ли указанный дескриптор файла к терминалу. Аналогично оператору
-t, см. "-X" в perlfunc. iscntrl-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:cntrl:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isdigit-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:digit:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isfinite-
Возвращает true, если аргумент является конечным числом (то есть не бесконечность и не число Not-a-Number) [C99].
См. также "isinf", "isnan" и "fpclassify".
isgraph-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:graph:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isgreater-
(Также
isgreaterequal,isless,islessequal,islessgreater,isunordered)Сравнения с плавающей точкой, обрабатывающие
NaN[C99]. isinf-
Возвращает true, если аргумент является бесконечностью (положительной или отрицательной) [C99].
См. также "Inf", "isnan", "isfinite" и "fpclassify".
islower-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:lower:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isnan-
Возвращает true, если аргумент является
NaN(Not-a-Number) [C99].Обратите внимание, что вы не можете проверить "
NaN-ность" с$x == $xтак как
NaNне эквивалентно ничему, включая себя.См. также "nan", "NaN", "isinf" и "fpclassify".
isnormal-
Возвращает true, если аргумент является нормальным (то есть не субнормальным/денормальным, и не бесконечностью или числом Not-a-Number) [C99].
См. также "isfinite" и "fpclassify".
isprint-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:print:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. ispunct-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:punct:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. issignaling-
use POSIX ':nan_payload'; issignaling($var, $payload)Возвращает true, если аргумент является сигнальным NaN.
Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
См. "nan" для более подробного обсуждения
NaN. isspace-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:space:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isupper-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:upper:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в perlrecharclass. isxdigit-
Эта функция удалена с версии v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:xdigit:]]+ $ /x, которую следует использовать вместо неё. См. "Классы символов POSIX" в 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-
Не число (Not-a-number) как константа:
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, но бит тихого/сигнализирующего NaN отнимает один.) Однако из-за преобразований из числа с плавающей точкой в целое и обратно, пожалуйста, тщательно проверьте, получаете ли вы то, что ввели. Если ваши целые числа имеют только 32 бита, вы, вероятно, не должны полагаться на более чем 32 бита данных.
Различается ли «сигнализирующее» NaN каким-либо образом от «тихого» 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-
Удаляет имя из файловой системы. Вызывает "unlink" в perlfunc для файлов и "rmdir" в 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". (Исключения перечислены в "Не в области действия "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в соответствии с переменными окружения локали (второй аргумент""). Обратитесь к документацииsetlocale(3)вашей системы для получения значения переменных окружения локали или обратитесь к perllocale.$loc = setlocale( LC_CTYPE, "" );Следующее установит поведение
LC_COLLATEдля аргентинского испанского языка. ПРИМЕЧАНИЕ: Наименование и доступность локали зависят от вашей операционной системы. Обратитесь к perllocale для получения информации о доступных локалях в вашей системе.$loc = setlocale( LC_COLLATE, "es_AR.ISO8859-1" ); setpayload-
use POSIX ':nan_payload'; setpayload($var, $payload);Устанавливает
NaNсодержимое var.ПРИМЕЧАНИЕ: API с содержимым NaN основаны на последних (на июнь 2015 года) предложенных интерфейсах ISO C, но они ещё не являются стандартом. Возможно, что-то изменится.
См. "nan" для более подробного обсуждения
NaN.См. также "setpayloadsig", "isnan", "getpayload" и "issignaling".
setpayloadsig-
use POSIX ':nan_payload'; setpayloadsig($var, $payload);Подобно "setpayload", но также делает NaN сигнализирующим.
В зависимости от платформы NaN может вести себя иначе.
Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
Обратите внимание, что из-за того, как работают форматы чисел с плавающей точкой, на наиболее распространённых платформах сигнализирующее содержимое с нулём лучше избегать, так как оно может оказаться идентичным
+Inf.См. также "nan", "isnan", "getpayload" и "issignaling".
setpgid-
Аналогично функции C
setpgid()для установки идентификатора группы процесса текущего процесса.Возвращает
undefпри ошибке. setsid-
Идентично функции C
setsid()для установки идентификатора сеанса текущего процесса. setuid
-
Устанавливает реальный и эффективный идентификаторы пользователя для данного процесса. Аналогично присваиванию значения встроенной переменной Perl
$<, см. "$UID" в perlvar, за исключением того, что последняя изменяет только реальный идентификатор пользователя. sigaction-
Детальное управление сигналами. Использует объекты
POSIX::SigActionдля аргументовactionиoldaction(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известен своей непортативностью, поскольку имена часовых поясов не являются стандартными. Придерживаться числовых спецификаторов — самый безопасный путь.Указанные аргументы согласованы как будто с помощью вызова
mktime()перед вызовом функцииstrftime()вашей системы, за исключением значения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-
Перевод строки в (длинное) целое число. Возвращает прочитанное число и количество символов в непрочитанной части строки. На системах, строго соответствующих 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-
Перевод строки в беззнаковое (длинное) целое число.
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 соответствует структуре C
termios.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.30.3/POSIX