POSIX
СОДЕРЖАНИЕ
- ИМЯ
- СИНТАКСИС
- ОПИСАНИЕ
- ОСОБЕННОСТИ
- ФУНКЦИИ
- КЛАССЫ
- КОНСТАНТЫ PATHNAME
- КОНСТАНТЫ 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. Для получения общей информации о большинстве функций обратитесь к страницам справки вашей операционной системы. Для функций, которые идентичны или почти идентичны встроенным функциям Perl, обратитесь к perlfunc.
В первом разделе описываются функции POSIX из спецификации 1003.1. Во втором разделе описываются некоторые классы для объектов сигналов, объектов терминала и других различных объектов. В оставшихся разделах перечислены различные константы и макросы, которые примерно следуют структуре IEEE Std 1003.1b-1993.
ОСОБЕННОСТИ
По умолчанию экспортируются все элементы (за исключением нескольких). Это неудачная особенность обратной совместимости, и её использование настоятельно не рекомендуется. Вы должны либо предотвратить экспорт (сказав use POSIX ();, как обычно), а затем использовать полные квалифицированные имена (например, POSIX::SEEK_END), либо указать явный список импорта. Если вы не сделаете ни того, ни другого, и выберете значение по умолчанию (как в use POSIX;), вы импортируете сотни и сотни символов в своё пространство имён.
Некоторые функции не реализованы, потому что они специфичны для C. Если вы попытаетесь вызвать их, будет выведено сообщение, информирующее вас об этом и предлагающее использовать Perl-эквивалент, если он существует. Например, попытка доступа к setjmp() вызовет сообщение "setjmp() is C-specific: use eval {} instead".
Кроме того, некоторые поставщики программного обеспечения могут заявлять о соответствии стандарту 1003.1, но на самом деле им не соответствуют: они не пройдут тесты на соответствие стандарту POSIX (PCTS). Например, какой-либо поставщик может не определять EDEADLK, или семантика значений errno, устанавливаемых open(2), может быть не совсем верной. Perl не пытается проверить соответствие стандарту POSIX. Это означает, что вы можете успешно использовать "use POSIX", а затем обнаружить, что ваш поставщик был небрежен, и нужный ICANON макрос отсутствует. Это можно рассматривать как ошибку.
ФУНКЦИИ
-
_exit -
Это идентично функции C
_exit(). Она немедленно завершает программу, что означает, что буферизованный ввод-вывод не сбрасывается.Обратите внимание, что при использовании потоков и в Linux это не хороший способ завершения потока, поскольку в Linux процессы и потоки похожи (Примечание: хотя это было так в начале 2003 года, в Linux ведутся проекты по созданию потоков с более POSIX-совместимой семантикой). Если вы хотите не возвращаться из потока, отсоедините его.
abort-
Это идентично функции C
abort(). Она завершает процесс со сигналомSIGABRT, если он не перехвачен обработчиком сигналов или обработчик не возвращается нормально (например, выполняетlongjmp). abs-
Это идентично встроенной функции Perl's
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_DOWNWARDFE_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-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alnum:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isalpha-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alpha:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isatty-
Возвращает булево значение, указывающее, подключён ли указанный дескриптор файла к терминалу. Аналогично оператору
-t, см. "-X" в perlfunc. iscntrl-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:cntrl:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isdigit-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:digit:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isfinite-
Возвращает true, если аргумент является конечным числом (то есть не бесконечность и не число типа «не число») [C99].
См. также "isinf", "isnan" и "fpclassify".
isgraph-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:graph:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isgreater-
(Также
isgreaterequal,isless,islessequal,islessgreater,isunordered)Сравнения чисел с плавающей точкой, которые обрабатывают
NaN[C99]. isinf-
Возвращает true, если аргумент является бесконечностью (положительной или отрицательной) [C99].
См. также "Inf", "isnan", "isfinite" и "fpclassify".
islower-
Эта функция удалена начиная с версии 5.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-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:print:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. ispunct-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:punct:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. issignaling-
use POSIX ':nan_payload'; issignaling($var, $payload)Возвращает true, если аргумент является сигнальным NaN.
Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
См. "nan" для более подробного обсуждения
NaN. isspace-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:space:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isupper-
Эта функция удалена начиная с версии 5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:upper:]]+ $ /x, которую вы должны использовать вместо неё. См. "POSIX Character Classes" в perlrecharclass. isxdigit-
Эта функция удалена начиная с версии 5.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-
Получение информации о числовом формате. Возвращает ссылку на хеш, содержащий значения форматирования локали, которая в настоящее время используется программой, независимо от того, вызывается ли она из области
use locale. Пользователи этой функции также должны прочитать 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. В потоковых Perl она прозрачно (почти) заменяет более потокобезопаснуюmbrlen(3), если она доступна, вместоmblen.Ядро Perl не поддерживает широкие и многобайтовые локали, кроме Unicode UTF-8 локалей. Эта функция в сочетании с "mbtowc" и "wctomb" может быть использована для разработки собственной декодировки/кодировки других типов многобайтовых локалей.
Используйте
undefв качестве первого параметра этой функции, чтобы получить эффект передачи NULL в качестве первого параметраmblen. Это сбрасывает любой сдвиг состояния до его начального значения. Возвращаемое значение неопределённо, еслиmbrlenбыла заменена, поэтому вы никогда не должны на неё полагаться.Когда первый параметр — скаляр, содержащий значение, которое является строкой PV или может быть преобразовано в неё, возвращаемое значение — количество байт, занимаемых первым символом этой строки; или 0, если этот первый символ — широкая нулевая буква; или отрицательное значение, если возникла ошибка. Это основано на локали, которая в настоящее время используется программой, независимо от того, вызывается ли функция из кода Perl, который находится в области
use locale. Perl не пытается скрыть от вашего кода какие-либо различия в настройкеerrnoмеждуmblenиmbrlen. Он устанавливаетerrnoв 0 перед их вызовом.Дополнительный второй параметр игнорируется, если он больше фактической длины строки первого параметра.
mbtowc-
Это то же самое, что и функция C
mbtowc()в не-потоковых Perl. В потоковых Perl она прозрачно (почти) заменяет более потокобезопаснуюmbrtowc(3), если она доступна, вместоmbtowc.Ядро Perl не поддерживает широкие и многобайтовые локали, кроме Unicode UTF-8 локалей. Эта функция в сочетании с "mblen" и "wctomb" может быть использована для разработки собственной декодировки/кодировки других типов многобайтовых локалей.
Первый параметр — скаляр, в который при успехе будет сохранено широкое значение, представляемое многобайтовой строкой, содержащейся во втором параметре. Дополнительный третий параметр игнорируется, если он больше фактической длины строки второго параметра.
Используйте
undefв качестве второго параметра этой функции, чтобы получить эффект передачи NULL в качестве второго параметраmbtowc. Это сбрасывает любой сдвиг состояния до его начального значения. Возвращаемое значение неопределённо, еслиmbrtowcбыла заменена, поэтому вы никогда не должны на неё полагаться.Когда второй параметр — скаляр, содержащий значение, которое является строкой PV или может быть преобразовано в неё, возвращаемое значение — количество байт, занимаемых первым символом этой строки; или 0, если этот первый символ — широкая нулевая буква; или отрицательное значение, если возникла ошибка. Это основано на локали, которая в настоящее время используется программой, независимо от того, вызывается ли функция из кода Perl, который находится в области
use locale. Perl не пытается скрыть от вашего кода какие-либо различия в настройкеerrnoмеждуmbtowcиmbrtowc. Он устанавливаетerrnoв 0 перед их вызовом. 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 double x86) доступно соответственно 51 и 61 бит. (Было бы 52 и 62, но бит quiet/signaling NaN занимает один бит.) Однако из-за преобразований чисел с плавающей запятой в целые числа и обратно, пожалуйста, тщательно проверьте, получаете ли вы то, что ввели. Если ваши целые числа имеют только 32 бита, вы, вероятно, не должны полагаться на более чем 32 бита загрузки.
Различия между "сигнализирующим" и "тихим" NaN зависят от платформы. Также обратите внимание, что загрузка по умолчанию NaN (без аргумента в nan()) не обязательно равна нулю, используйте
setpayloadдля явного задания загрузки. На некоторых платформах, таких как 32-битный x86 (если не использовать 80-битные long double), бит сигнализации вообще не поддерживается.См. также "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(), для изменения приоритета планирования текущего процесса. Положительные аргументы означают более вежливый процесс, отрицательные значения - более требовательный процесс. Обычные (не корневые) пользовательские процессы могут только изменить направление, став более вежливыми.Возвращает
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
-
ВНИМАНИЕ! До Perl 5.28 или на системах, не поддерживающих потокобезопасные операции с локалью, НЕ используйте эту функцию в потоке. Локаль изменится во всех других потоках одновременно, и если ваш поток будет приостановлен операционной системой, а другой запущен, этот поток не получит ожидаемую локаль. На некоторых платформах может возникнуть ситуация гонки, приводящая к segfaults, если две нити вызывают эту функцию практически одновременно. Это предупреждение не относится к не-поточным сборкам или к Perl, где
${^SAFE_LOCALES}существует и не равно нулю; в частности, к Perl 5.28 и более поздним версиям, скомпилированным для потокобезопасной локали.Эта функция изменяет и запрашивает базовую локаль программы. Пользователи этой функции должны прочитать perllocale, которая содержит исчерпывающее обсуждение обработки локали в Perl, знание которой необходимо для правильного использования этой функции. Она содержит раздел, посвящённый этой функции. Данное обсуждение является лишь кратким справочником по
setlocale(). Обратите внимание, что Perl сам по себе почти не зависит от локали, за исключением области действия"use locale". (Исключения перечислены в "Не в области действия "use locale"" в perllocale, а функции, зависящие от локали, в модуле POSIX ВСЕГДА зависят от текущей локали.)Следующие примеры предполагают
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);Устанавливает
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аргументов (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-
Установить seed для генератора псевдослучайных чисел, см. "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_NUMERIC, независимо от того, вызывается ли он из кода Perl, который находится в пределах областиuse locale. До Perl 5.28 или при работе в среде без потоковой обработки его не следует использовать в многопоточной приложении, если не известно наверняка, что базовая локали — 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-
Эта функция была удалена начиная с версии 5.26. Она идентична функции C, за исключением того, что может применяться к одному символу или целой строке, и в настоящее время работает так, как будто локали всегда «C». Рассмотрите использование функции
lc(), см. "lc" в perlfunc, см. "lc" в perlfunc или эквивалентный оператор\Lвнутри двойных кавычек. toupper
-
Эта функция удалена начиная с версии v5.26. Она аналогична функции 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";См. "mblen".
wctomb-
Это то же самое, что и функция C
wctomb()в однопоточных Perl. В многопоточных Perl она прозрачно (почти) заменяет более безопасную для потоковwcrtomb(3), если она доступна, вместоwctomb.Ядро Perl не поддерживает широкие и многобайтовые локали, за исключением локали Unicode UTF-8. Эта функция в сочетании с "mblen" и "mbtowc" может использоваться для самостоятельной декодировки/кодировки других типов многобайтовых локалей.
Используйте
undefв качестве первого параметра этой функции, чтобы получить эффект передачи NULL в качестве первого параметра функцииwctomb. Это сбрасывает любое состояние сдвига до начального значения. Значение возврата неопределено, еслиwcrtombбыла заменена, поэтому вы никогда не должны полагаться на него.Когда первый параметр — скаляр, кодовый пункт, содержащийся во втором параметре-скаляре, преобразуется в многобайтовую строку и сохраняется в скаляр первого параметра. Это основано на локали, которая в настоящее время используется программой, независимо от того, вызвана ли функция из кода Perl, который находится в области действия
use locale. Значение возврата — количество сохранённых байтов; или отрицательное значение, если кодовый пункт не может быть представлен в текущей локали. Perl не пытается скрыть от вашего кода какие-либо различия в настройкеerrnoмеждуwctombиwcrtomb. Он устанавливаетerrnoв 0 перед их вызовом. 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 соответствует структуре
termiosязыка C.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
ОПЕРАЦИОННАЯ СИСТЕМА
- Постоянные значения
-
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.32.0/POSIX