Spec-Zone.ru › Perl 5.30

POSIX

СОДЕРЖАНИЕ

  • ИМЯ
  • СИНТАКСИС
  • ОПИСАНИЕ
  • ОСОБЕННОСТИ
  • ФУНКЦИИ
  • КЛАССЫ
    • POSIX::SigAction
    • POSIX::SigRt
    • POSIX::SigSet
    • POSIX::Termios
  • КОНСТАНТЫ ИМЕНЬ ПУТЕЙ
  • КОНСТАНТЫ 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_UPWARD

FE_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
END_OF_DOCUMENT_MARKER

Возвращает идентификаторы дополнительных групп пользователя. Аналогично встроенной переменной 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.

j0
j1
jn
y0
y1
yn

Функция Бесселя первого рода нулевого порядка.

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].

END_OF_DOCUMENT_MARKER
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].

См. также "ceil", "floor", "lround", "modf" и "trunc".

scalbn

Возвращает x * 2**y [C99].

См. также "frexp" и "ldexp".

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
END_OF_DOCUMENT_MARKER

Устанавливает реальный и эффективный идентификаторы пользователя для данного процесса. Аналогично присваиванию значения встроенной переменной 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 учитывает любые настройки POSIX setlocale() 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].

См. также "ceil", "floor" и "round".

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, соответствующий C struct 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().

handler
mask
flags

Функции доступа для получения/установки значений объекта 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 при ошибке.

Значения скорости

B38400 B75 B200 B134 B300 B1800 B150 B0 B19200 B1200 B9600 B600 B4800 B50 B2400 B110

Значения интерфейса терминала

TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION TCIFLUSH TCSAFLUSH TCIOFF TCOOFF

Значения поля c_cc

VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART VSTOP VMIN VTIME NCCS

Значения поля c_cflag

CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL PARENB PARODD

Значения поля c_iflag

BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK ISTRIP IXOFF IXON PARMRK

Значения поля c_lflag

ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH TOSTOP

Значения поля 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_PROCESS PRIO_PGRP PRIO_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

Постоянные

E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF EBADMSG EBUSY ECANCELED ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP ENOTTY ENXIO EOPNOTSUPP EOTHER EOVERFLOW EOWNERDEAD EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV

FCNTL

Постоянные

FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_OK F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY

FLOAT

Константы

DBL_DIG DBL_EPSILON DBL_MANT_DIG DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP FLT_DIG FLT_EPSILON FLT_MANT_DIG FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_ROUNDS LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP

Окружение с плавающей запятой

Константы

FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD на системах, которые их поддерживают.

Пределы

Константы

ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX

Локали

Константы

LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME LC_MESSAGES на системах, которые их поддерживают.

Математика

Константы

HUGE_VAL

FP_ILOGB0 FP_ILOGBNAN FP_INFINITE FP_NAN FP_NORMAL FP_SUBNORMAL FP_ZERO INFINITY NAN Inf NaN M_1_PI M_2_PI M_2_SQRTPI M_E M_LN10 M_LN2 M_LOG10E M_LOG2E M_PI M_PI_2 M_PI_4 M_SQRT1_2 M_SQRT2 на системах с поддержкой C99.

Сигнал

Константы

SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK ILL_ILLOPC ILL_ILLOPN ILL_ILLADR ILL_ILLTRP ILL_PRVOPC ILL_PRVREG ILL_COPROC ILL_BADSTK FPE_INTDIV FPE_INTOVF FPE_FLTDIV FPE_FLTOVF FPE_FLTUND FPE_FLTRES FPE_FLTINV FPE_FLTSUB SEGV_MAPERR SEGV_ACCERR BUS_ADRALN BUS_ADRERR BUS_OBJERR TRAP_BRKPT TRAP_TRACE CLD_EXITED CLD_KILLED CLD_DUMPED CLD_TRAPPED CLD_STOPPED CLD_CONTINUED POLL_IN POLL_OUT POLL_MSG POLL_ERR POLL_PRI POLL_HUP SI_USER SI_QUEUE SI_TIMER SI_ASYNCIO SI_MESGQ

Статистика

Константы

S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR

Макросы

S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG

Стандартная библиотека

Константы

EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX

Ввод/вывод

Константы

BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid TMP_MAX

Время

Константы

CLK_TCK CLOCKS_PER_SEC

UNISTD

Константы

R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO STDOUT_FILENO STDERR_FILENO W_OK X_OK

Ожидание

Константы

WNOHANG WUNTRACED

WNOHANG

Не приостанавливать вызывающий процесс до изменения состояния дочернего процесса, а вместо этого возвращаться немедленно.

WUNTRACED

Обрабатывать остановленные дочерние процессы.

Макросы

WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG WIFSTOPPED WSTOPSIG

WIFEXITED

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.)

Константы

WSAEINTR WSAEBADF WSAEACCES WSAEFAULT WSAEINVAL WSAEMFILE WSAEWOULDBLOCK WSAEINPROGRESS WSAEALREADY WSAENOTSOCK WSAEDESTADDRREQ WSAEMSGSIZE WSAEPROTOTYPE WSAENOPROTOOPT WSAEPROTONOSUPPORT WSAESOCKTNOSUPPORT WSAEOPNOTSUPP WSAEPFNOSUPPORT WSAEAFNOSUPPORT WSAEADDRINUSE WSAEADDRNOTAVAIL WSAENETDOWN WSAENETUNREACH WSAENETRESET WSAECONNABORTED WSAECONNRESET WSAENOBUFS WSAEISCONN WSAENOTCONN WSAESHUTDOWN WSAETOOMANYREFS WSAETIMEDOUT WSAECONNREFUSED WSAELOOP WSAENAMETOOLONG WSAEHOSTDOWN WSAEHOSTUNREACH WSAENOTEMPTY WSAEPROCLIM WSAEUSERS WSAEDQUOT WSAESTALE WSAEREMOTE WSAEDISCON WSAENOMORE WSAECANCELLED WSAEINVALIDPROCTABLE WSAEINVALIDPROVIDER WSAEPROVIDERFAILEDINIT WSAEREFUSED

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API