POSIX
СОДЕРЖАНИЕ
- ИМЯ
- СИНТАКСИС
- ОПИСАНИЕ
- ЗАМЕЧАНИЯ
- ФУНКЦИИ
- КЛАССЫ
- КОНСТАНТЫ ИМЕНЬ ПУТЕЙ
- КОНСТАНТЫ POSIX
- КОНСТАНТЫ РЕСУРСОВ
- КОНФИГУРАЦИЯ СИСТЕМЫ
- ERRNO
- FCNTL
- FLOAT
- СРЕДА ПЛАВАЮЩЕЙ ТОЧКИ
- ЛИМИТЫ
- ЛОКАЛЬ
- МАТЕМАТИКА
- СИГНАЛ
- STAT
- STDLIB
- STDIO
- ВРЕМЯ
- UNISTD
- WAIT
- WINSOCK
ИМЯ
POSIX - Perl интерфейс к IEEE Std 1003.1
СИНТАКСИС
use POSIX ();
use POSIX qw(setsid);
use POSIX qw(:errno_h :fcntl_h);
printf "EINTR is %d\n", EINTR;
$sess_id = POSIX::setsid();
$fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
# note: that's a filedescriptor, *NOT* a filehandle ОПИСАНИЕ
Модуль POSIX позволяет получить доступ ко всем (или почти всем) стандартным идентификаторам POSIX 1003.1. Многие из этих идентификаторов получили perl-подобные интерфейсы.
Этот документ предоставляет сжатый список функций, доступных в модуле POSIX. Обратитесь к страницам руководства вашей операционной системы для получения общей информации о большинстве функций. Обратитесь к perlfunc для функций, которые идентичны или почти идентичны встроенным функциям Perl.
Первый раздел описывает функции POSIX из спецификации 1003.1. Второй раздел описывает некоторые классы для объектов сигналов, объектов TTY и других различных объектов. Остальные разделы перечисляют различные константы и макросы в структуре, примерно следующей стандарту IEEE Std 1003.1b-1993.
Обозначение [C99] указывает на функции, которые были добавлены в стандарт языка C ISO/IEC 9899:1999. Некоторые из них могут быть недоступны на вашей системе, если она соответствует более раннему стандарту. Попытки использовать какие-либо отсутствующие функции приведут к сообщению об ошибке во время выполнения.
ЗАМЕЧАНИЯ
Все по умолчанию экспортируется (за исключением нескольких случаев). Это неудачная функция обратной совместимости, и её использование настоятельно не рекомендуется. Вы должны либо предотвратить экспорт (скажем, use POSIX ();, как обычно), а затем использовать полные квалифицированные имена (например, POSIX::SEEK_END), или указать явный список импорта. Если вы не сделаете ни того, ни другого и выберете по умолчанию (как в use POSIX;), вы импортируете сотни и сотни символов в своё пространство имен.
Некоторые функции не реализованы, так как они специфичны для C. Если вы попытаетесь вызвать эти функции, будет выведено сообщение, в котором будет сказано, что они не реализованы, и предложено использовать эквивалент Perl, если он существует. Например, попытка получить доступ к вызову setjmp() вызовет сообщение «setjmp() is C-specific: use eval {} instead».
Кроме того, некоторые поставщики могут заявлять о соответствии стандарту 1003.1, но фактически не соответствуют ему: они не пройдут тесты соответствия POSIX (POSIX Compliance Test Suites). Например, один поставщик может не определить EDEADLK, или семантика значений errno, устанавливаемых функцией open(2), может быть не совсем правильной. Perl не пытается проверить соответствие POSIX. Это означает, что вы можете успешно сказать «use POSIX», а затем позже в вашей программе обнаружить, что ваш поставщик был небрежен, и макрос ICANON в итоге не работает. Это можно рассматривать как ошибку.
ФУНКЦИИ
-
_exit -
Это идентично C-функции
_exit(). Она немедленно завершает программу, что означает, среди прочего, что буферизированный ввод-вывод не сбрасывается.Обратите внимание, что при использовании потоков и в Linux это не хороший способ завершить поток, потому что в Linux процессы и потоки похожи (Примечание: хотя это было так в начале 2003 года, есть проекты, направленные на то, чтобы потоки в Linux имели более POSIX-совместимую семантику). Если вы не хотите возвращаться из потока, отсоедините поток.
abort-
Это идентично C-функции
abort(). Она завершает процесс с сигналомSIGABRT, если он не перехвачен обработчиком сигналов или если обработчик не возвращается нормально (например, выполняетlongjmp). abs-
Это идентично встроенной в Perl функции
abs(), возвращающей абсолютное значение её числового аргумента (за исключением того, чтоPOSIX::abs()должен быть предоставлен явным значением (а не полагаться на неявное$_)):$absolute_value = POSIX::abs(42); # good $absolute_value = POSIX::abs(); # throws exception access-
Определяет доступность файла.
if( POSIX::access( "/", &POSIX::R_OK ) ){ print "have read permission\n"; }Возвращает
undefпри ошибке. Примечание: не используйтеaccess()для целей безопасности. Между вызовомaccess()и операцией, к которой вы готовитесь, разрешения могут измениться: классическая проблема гонки. acos-
Это идентично C-функции
acos(), возвращающей арккосинус её числового аргумента. См. также Math::Trig. acosh-
Это идентично C-функции
acosh(), возвращающей гиперболический арккосинус её числового аргумента [C99]. См. также Math::Trig. Добавлено в Perl v5.22. 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.Обратите внимание, что результат всегда на английском языке. Используйте
"strftime"для получения результата, подходящего для текущей локали. Формат функции%cопределяет предпочтительное представление в локали. asin-
Это идентично C-функции
asin(), возвращающей арксинус её числового аргумента. См. также Math::Trig. asinh-
Это идентично C-функции
asinh(), возвращающей гиперболический арксинус её числового аргумента [C99]. См. также Math::Trig. Добавлено в Perl v5.22. assert-
Не реализовано, но вы можете использовать "die" в perlfunc и модуль Carp для достижения аналогичных целей.
atan-
Это идентично C-функции
atan(), возвращающей арктангенс её числового аргумента. См. также Math::Trig. atanh-
Это идентично C-функции
atanh(), возвращающей гиперболический арктангенс её числового аргумента [C99]. См. также Math::Trig. Добавлено в Perl v5.22. 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]. Добавлено в Perl v5.22.
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]. Добавлено в Perl v5.22.$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]. Добавлено в Perl v5.22.
erfc-
Дополнительная функция ошибки [C99]. Добавлено в Perl v5.22.
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]. Добавлено в Perl v5.22.См. также "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]. Добавлено в Perl v5.22. fegetround-
Возвращает текущий режим округления с плавающей точкой, один из
FE_TONEAREST FE_TOWARDZERO FE_UPWARD FE_DOWNWARDFE_TONEARESTподобен "round",FE_TOWARDZEROподобен "trunc" [C99]. Добавлено в Perl v5.22. fesetround-
Устанавливает режим округления с плавающей точкой, см. "fegetround" [C99]. Добавлено в Perl v5.22.
fma-
"Объединённое умножение-сложение",
x * y + z, возможно, быстрее (и менее потерь) чем явные две операции [C99]. Добавлено в Perl v5.22.my $fused = POSIX::fma($x, $y, $z); fmax-
Максимум из
xиy, за исключением случаев, когда один из нихNaN, возвращает другой [C99]. Добавлено в Perl v5.22.my $min = POSIX::fmax($x, $y); fmin-
Минимум из
xиy, за исключением случаев, когда один из нихNaN, возвращает другой [C99]. Добавлено в Perl v5.22.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— всё остальное. Добавлено в Perl v5.22. 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's
getc(), см. "getc" в perlfunc. getcwd-
Возвращает имя текущего рабочего каталога. См. также Cwd.
getegid-
Возвращает эффективный идентификатор группы. Аналогично переменной Perl's
$(, см. "$EGID" в perlvar. getenv-
Возвращает значение указанной переменной окружения. Такая же информация доступна через массив
%ENV. geteuid-
Возвращает эффективный идентификатор пользователя. Идентично переменной Perl's
$>, см. "$EUID" в perlvar. getgid-
Возвращает реальный идентификатор группы пользователя. Аналогично переменной Perl's
$), см. "$GID" в perlvar. getgrgid-
Идентично встроенной в Perl функции
getgrgid()для возвращения записей групп по идентификаторам групп, см. "getgrgid" в perlfunc. getgrnam-
Идентично встроенной в Perl функции
getgrnam()для возвращения записей групп по именам групп, см. "getgrnam" в perlfunc. getgroups-
Возвращает идентификаторы дополнительных групп пользователя. Аналогично встроенной переменной Perl's
$), см. "$GID" в perlvar. getlogin-
Идентично встроенной в Perl функции
getlogin()для возвращения имени пользователя, связанного с текущей сессией, см. "getlogin" в perlfunc. getpayload-
use POSIX ':nan_payload'; getpayload($var)Возвращает
NaNзагрузку. Добавлено в Perl v5.24.Обратите внимание на предупреждение о нестабильности 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]. Добавлен в Perl v5.22. ilogb-
Целочисленный двоичный логарифм [C99]. Добавлен в Perl v5.22.
Например,
ilogb(20)равно 4, как целое число.См. также "logb".
Inf-
Бесконечность как константа:
use POSIX qw(Inf); my $pos_inf = +Inf; # Or just Inf. my $neg_inf = -Inf;См. также "isinf" и "fpclassify".
isalnum-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alnum:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isalpha-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:alpha:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isatty-
Возвращает булево значение, указывающее, подключен ли указанный дескриптор файла к терминалу. Аналогично оператору
-t, см. "-X" в perlfunc. iscntrl-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:cntrl:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isdigit-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:digit:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isfinite-
Возвращает true, если аргумент является конечным числом (то есть не бесконечностью и не числом «не число») [C99]. Добавлен в Perl v5.22.
См. также "isinf", "isnan" и "fpclassify".
isgraph-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:graph:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isgreater-
(Также
isgreaterequal,isless,islessequal,islessgreater,isunordered)Сравнения с плавающей точкой, которые обрабатывают
NaN[C99]. Добавлен в Perl v5.22. isinf-
Возвращает true, если аргумент является бесконечностью (положительной или отрицательной) [C99]. Добавлен в Perl v5.22.
См. также "Inf", "isnan", "isfinite" и "fpclassify".
islower-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:lower:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isnan-
Возвращает true, если аргумент является
NaN(не число) [C99]. Добавлен в Perl v5.22.Обратите внимание, что также можно проверить "
NaN-ность" с помощью операторов сравнения равенства (==или!=), как вprint "x is not a NaN\n" if $x == $x;поскольку
NaNне равно ничему, включая себя.См. также "nan", "NaN", "isinf" и "fpclassify".
isnormal-
Возвращает true, если аргумент является нормальным (то есть не субнормальным/денормализованным, не бесконечностью и не числом «не число») [C99]. Добавлен в Perl v5.22.
См. также "isfinite" и "fpclassify".
isprint-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:print:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. ispunct-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:punct:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. issignaling-
use POSIX ':nan_payload'; issignaling($var, $payload)Возвращает true, если аргумент является сигнальной NaN. Добавлен в Perl v5.24.
Обратите внимание на предупреждение об API-нестабильности в "setpayload".
См. "nan" для более подробного обсуждения
NaN. isspace-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:space:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isupper-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:upper:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. isxdigit-
Эта функция удалена начиная с Perl v5.24. Она была очень похожа на сопоставление с
qr/ ^ [[:xdigit:]]+ $ /x, которую следует вместо этого использовать. См. "POSIX Character Classes" в perlrecharclass. j0j1jny0y1yn-
Функция Бесселя первого рода нулевого порядка.
kill-
Это идентично встроенной функции Perl
kill()для отправки сигналов процессам (часто для их завершения), см. "kill" в perlfunc. labs-
Не реализовано. (Для возвращения абсолютных значений длинных целых чисел.)
labs()— специфично для C, используйте "abs" в perlfunc вместо этого. lchown-
Это идентично функции C, за исключением того, что порядок аргументов согласован со встроенной функцией Perl
chown()с добавлением ограничения только одного пути, а не списка путей. Делает то же самое, что и функцияchown(), но изменяет владельца символической ссылки вместо файла, на который указывает символическая ссылка.POSIX::lchown($uid, $gid, $file_path); ldexp-
Это идентично функции C
ldexp()для умножения чисел с плавающей точкой на степени двойки.$x_quadrupled = POSIX::ldexp($x, 2); ldiv-
Не реализовано. (Для вычисления частных длинных целых чисел.)
ldiv()— специфично для C, используйте/иint()вместо этого. lgamma-
Логарифм функции Гамма [C99]. Добавлен в Perl v5.22.
См. также "tgamma".
log1p-
Эквивалентно
log(1 + x), но обеспечивает более стабильные результаты для малых значений аргумента [C99]. Добавлен в Perl v5.22. log2-
Логарифм по основанию два [C99]. Добавлен в Perl v5.22.
См. также "expm1".
logb-
Целочисленный двоичный логарифм [C99]. Добавлен в Perl v5.22.
Например,
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]. Добавлен в Perl v5.22.
Для режима округления см. "fegetround".
lround-
Подобно "round", но как целое число, а не число с плавающей точкой [C99]. Добавлен в Perl v5.22.
См. также "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, если этот первый символ — это широкий символ NUL; или отрицательное, если произошла ошибка. Это основано на локали, которая в данный момент используется программой, независимо от того, вызывается ли функция из кода 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, если этот первый символ — это широкий символ NUL; или отрицательное, если произошла ошибка. Это основано на локали, которая в данный момент используется программой, независимо от того, вызывается ли функция из кода 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]. Добавлено в Perl v5.22.Возвращаемое NaN всегда является тихим NaN, в отличие от сигнализирующего.
С аргументом можно сгенерировать NaN с нагрузкой. Аргумент сначала интерпретируется как число с плавающей точкой, но затем дробная часть усекается (к нулю), и значение интерпретируется как целое без знака. Биты этого целого числа хранятся в неиспользуемых битах NaN.
Результат имеет двойственную природу: он является NaN, но также содержит целое число внутри. Целое число можно извлечь с помощью "getpayload". Однако обратите внимание, что нагрузка не передается, даже при копировании, и определенно не участвует в арифметических операциях.
Количество битов, которое может поместиться в NaN, зависит от типа используемых чисел с плавающей точкой, но на наиболее распространённых платформах (64-битный IEEE 754 или 80-битные long doubles x86) доступно соответственно 51 и 61 бит. (Было бы 52 и 62, но бит тихий/сигнализирующий для NaN занимает один бит.) Однако из-за преобразований число с плавающей точкой — целое число — и обратно, пожалуйста, тщательно проверьте, получите ли вы то, что ввели. Если ваши целые числа имеют ширину только 32 бита, вы, вероятно, не должны полагаться на более чем 32 бита нагрузки.
Различие между «сигнализирующим» и «тихим» NaN зависит от платформы. Также обратите внимание, что нагрузка по умолчанию NaN (без аргумента в nan()) не обязательно равна нулю, используйте
setpayloadдля явного задания нагрузки. На некоторых платформах, таких как 32-битный x86 (если не использовать 80-битные long doubles), бит сигнализации вообще не поддерживается.См. также "isnan", "NaN", "setpayload" и "issignaling".
nearbyint-
Возвращает ближайшее целое число к аргументу в соответствии с текущим режимом округления (см. "fegetround") [C99]. Добавлено в Perl v5.22.
nextafter-
Возвращает следующее представимое число с плавающей точкой после
xв направленииy[C99]. Добавлено в Perl v5.22.my $nextafter = POSIX::nextafter($x, $y);Как "nexttoward", но потенциально менее точное.
nexttoward-
Возвращает следующее представимое число с плавающей точкой после
xв направленииy[C99]. Добавлено в Perl v5.22.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]. Добавлено в Perl v5.22.my $remainder = POSIX::remainder($x, $y)См. также "remquo".
remove-
Удаляет имя из файловой системы. Вызывает "unlink" в perlfunc для файлов и "rmdir" в perlfunc для каталогов.
remquo-
Как "remainder", но также возвращает младшие биты частного (n) [C99]. Добавлено в Perl v5.22.
(Этот интерфейс довольно специфичен, в основном используется для реализации числовых алгоритмов.)
rename-
Идентично встроенной функции Perl
rename()для переименования файлов, см. "rename" в perlfunc. rewind-
Перемещает указатель к началу файла.
rewinddir-
Идентично встроенной функции Perl
rewinddir()для перемотки потоков записей каталога, см. "rewinddir" в perlfunc. rint-
Идентично "lrint".
rmdir-
Идентично встроенной функции Perl
rmdir()для удаления (пустых) каталогов, см. "rmdir" в perlfunc. round-
Возвращает ближайшее целое число (но всё ещё как число с плавающей точкой) к аргументу [C99]. Добавлено в Perl v5.22.
scalbn-
Возвращает
x * 2**y[C99]. Добавлено в Perl v5.22. scanf-
Не реализовано.
scanf()специфично для C, используйте <> и регулярные выражения вместо этого, см. perlre. setgid-
Устанавливает реальный и эффективный идентификаторы группы для этого процесса. Аналогично присвоению значения переменной Perl
$), см. "$EGID" в perlvar, за исключением того, что последний изменит только реальный идентификатор пользователя, а setgid() использует только один числовой аргумент, в отличие от списка чисел, разделенных пробелами. setjmp-
Не реализовано.
setjmp()специфично для C: используйтеeval {}вместо этого, см. "eval" в perlfunc. setlocale
-
ВНИМАНИЕ! До Perl 5.28 или на системах, не поддерживающих потокобезопасные операции с локалью, НЕ используйте эту функцию в потоке. Локаль изменится во всех других потоках одновременно, и если ваш поток будет приостановлен операционной системой, а другой запущен, у этого потока не будет ожидаемой локали. На некоторых платформах может возникнуть гонка, приводящая к сегфолтам, если две нити почти одновременно вызовут эту функцию. Это предупреждение не относится к однопоточным сборкам или к версиям 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);Устанавливает
NaNплату за var. Добавлен в Perl v5.24.ПРИМЕЧАНИЕ: API платы NaN основаны на последнем (на июнь 2015 г.) предложенном интерфейсе ISO C, но они еще не стандартизированы. Возможно, что-то изменится.
См. "nan" для более подробного обсуждения
NaN.См. также "setpayloadsig", "isnan", "getpayload" и "issignaling".
setpayloadsig-
use POSIX ':nan_payload'; setpayloadsig($var, $payload);Как "setpayload", но также делает NaN сигнализирующим. Добавлен в Perl v5.24.
В зависимости от платформы NaN может вести себя иначе.
Обратите внимание на предупреждение об отсутствии стабильности API в "setpayload".
Обратите внимание, что из-за того, как работают форматы чисел с плавающей точкой, на наиболее распространённых платформах следует избегать сигнализирующей платы нуля, так как она может оказаться идентичной
+Inf.См. также "nan", "isnan", "getpayload" и "issignaling".
setpgid-
Это аналогично функции C
setpgid()для установки идентификатора группы процессов текущего процесса.Возвращает
undefпри ошибке. setsid-
Это идентично функции C
setsid()для установки идентификатора сеанса текущего процесса. setuid-
Устанавливает реальный и эффективный идентификаторы пользователя для этого процесса. Аналогично присвоению значения встроенной переменной Perl
$<, см. "$UID" в perlvar, за исключением того, что последний изменит только реальный идентификатор пользователя. sigaction-
Подробное управление сигналами. Использует объекты
POSIX::SigActionдля аргументовactionиoldaction(oldaction также может быть просто ссылкой на хеш). Обратитесь к справочной странице вашей системыsigactionдля получения подробной информации, см. также "POSIX::SigRt".Синтаксис:
sigaction(signal, action, oldaction = 0)Возвращает
undefпри ошибке.signalдолжно быть числом (например,SIGHUP), а не строкой (например,"SIGHUP"), хотя Perl пытается понять вас.Если вы используете флаг
SA_SIGINFO, обработчик сигналов помимо первого аргумента, имени сигнала, также получит второй аргумент, ссылку на хеш, в котором находятся следующие ключи со следующими семантическими значениями, как определено POSIX/SUSv3:signo the signal number errno the error number code if this is zero or less, the signal was sent by a user process and the uid and pid make sense, otherwise the signal was sent by the kernelКонстанты для конкретных значений
codeмогут быть импортированы индивидуально или с использованием тега:signal_h_si_code, начиная с Perl v5.24.Следующие также определены 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]. Добавлен в Perl v5.22.
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.
Также обратите внимание, что не имеет смысла, чтобы строка была закодирована в одной локали (скажем, ISO-8859-6, арабский) и сортировалась по другой (например, ISO-8859-7, греческий). Результаты будут в основном бессмысленны.
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 );Используется с
eqилиcmpв качестве альтернативы"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]. Добавлена в Perl v5.22.
См. также "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()функция, этот интерфейс больше недоступен начиная с Perl v5.26; вместо этого используйте File::Temp. tolower-
Эта функция была удалена начиная с Perl v5.26. Это идентично функции C, за исключением того, что она может применяться к одному символу или к целой строке, и в настоящее время работает так, как будто локали всегда "C". Рассмотрите использование функции
lc(), см. "lc" в perlfunc, см. "lc" в perlfunc, или эквивалентный оператор\Lвнутри строк в двойных кавычках. toupper-
Эта функция была удалена начиная с Perl v5.26. Это аналогично функции C, за исключением того, что она может применяться к одному символу или к целой строке, и в настоящее время работает так, как будто локали всегда "C". Рассмотрите использование функции
uc(), см. "uc" в perlfunc, или эквивалентный оператор\Uвнутри строк в двойных кавычках. trunc-
Возвращает целое число, ближайшее к аргументу по направлению к нулю [C99]. Добавлена в Perl v5.22.
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 соответствует структуре
termiosC.new()выделяет новую память,getattr()заполняет её данными из дескриптора файла, иsetattr()устанавливает параметры дескриптора файла, чтобы соответствовать содержимому Termios.$termios = POSIX::Termios->new; getattr-
Получить атрибуты управления терминалом.
Получить атрибуты для
stdin.$termios->getattr( 0 ) # Recommended for clarity. $termios->getattr()Получить атрибуты для stdout.
$termios->getattr( 1 )Возвращает
undefпри ошибке. getcc-
Извлечь значение из поля
c_ccобъектаtermios. Полеc_ccявляется массивом, поэтому необходимо указать индекс.$c_cc[1] = $termios->getcc(1); getcflag-
Извлечь поле
c_cflagобъектаtermios.$c_cflag = $termios->getcflag; getiflag-
Извлечь поле
c_iflagобъектаtermios.$c_iflag = $termios->getiflag; getispeed-
Извлечь скорость передачи данных на вход.
$ispeed = $termios->getispeed; getlflag-
Извлечь поле
c_lflagобъектаtermios.$c_lflag = $termios->getlflag; getoflag-
Извлечь поле
c_oflagобъектаtermios.$c_oflag = $termios->getoflag; getospeed-
Извлечь скорость передачи данных на выход.
$ospeed = $termios->getospeed; setattr-
Установить атрибуты управления терминалом.
Немедленно установить атрибуты для stdout.
$termios->setattr( 1, &POSIX::TCSANOW );Возвращает
undefпри ошибке. setcc-
Установить значение в поле
c_ccобъектаtermios. Полеc_ccявляется массивом, поэтому необходимо указать индекс.$termios->setcc( &POSIX::VEOF, 1 ); setcflag-
Установить поле
c_cflagобъектаtermios.$termios->setcflag( $c_cflag | &POSIX::CLOCAL ); setiflag-
Установить поле
c_iflagобъектаtermios.$termios->setiflag( $c_iflag | &POSIX::BRKINT ); setispeed-
Установить скорость передачи данных на вход.
$termios->setispeed( &POSIX::B9600 );Возвращает
undefпри ошибке. setlflag-
Установить поле
c_lflagобъектаtermios.$termios->setlflag( $c_lflag | &POSIX::ECHO ); setoflag-
Установить поле
c_oflagобъектаtermios.$termios->setoflag( $c_oflag | &POSIX::OPOST ); setospeed-
Установить скорость передачи данных на выход.
$termios->setospeed( &POSIX::B9600 );Возвращает
undefпри ошибке. - Скорости передачи данных
-
B38400B75B200B134B300B1800B150B0B19200B1200B9600B600B4800B50B2400B110 - Значения интерфейса терминала
-
TCSADRAINTCSANOWTCOONTCIOFLUSHTCOFLUSHTCIONTCIFLUSHTCSAFLUSHTCIOFFTCOOFF -
Значения поля
c_cc -
VEOFVEOLVERASEVINTRVKILLVQUITVSUSPVSTARTVSTOPVMINVTIMENCCS -
Значения поля
c_cflag -
CLOCALCREADCSIZECS5CS6CS7CS8CSTOPBHUPCLPARENBPARODD -
Значения поля
c_iflag -
BRKINTICRNLIGNBRKIGNCRIGNPARINLCRINPCKISTRIPIXOFFIXONPARMRK -
Значения поля
c_lflag -
ECHOECHOEECHOKECHONLICANONIEXTENISIGNOFLSHTOSTOP -
Значения поля
c_oflag -
OPOST
КОНСТАНТЫ PATHNAME
- Константы
-
_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.
- Константы
-
Добавлены в Perl v5.28:
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_VALДобавлен в Perl v5.22:
FP_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_UNBLOCKДобавлен в Perl v5.24:
ILL_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.)
- Константы
-
Добавлен в Perl v5.24:
WSAEINTRWSAEBADFWSAEACCESWSAEFAULTWSAEINVALWSAEMFILEWSAEWOULDBLOCKWSAEINPROGRESSWSAEALREADYWSAENOTSOCKWSAEDESTADDRREQWSAEMSGSIZEWSAEPROTOTYPEWSAENOPROTOOPTWSAEPROTONOSUPPORTWSAESOCKTNOSUPPORTWSAEOPNOTSUPPWSAEPFNOSUPPORTWSAEAFNOSUPPORTWSAEADDRINUSEWSAEADDRNOTAVAILWSAENETDOWNWSAENETUNREACHWSAENETRESETWSAECONNABORTEDWSAECONNRESETWSAENOBUFSWSAEISCONNWSAENOTCONNWSAESHUTDOWNWSAETOOMANYREFSWSAETIMEDOUTWSAECONNREFUSEDWSAELOOPWSAENAMETOOLONGWSAEHOSTDOWNWSAEHOSTUNREACHWSAENOTEMPTYWSAEPROCLIMWSAEUSERSWSAEDQUOTWSAESTALEWSAEREMOTEWSAEDISCONWSAENOMOREWSAECANCELLEDWSAEINVALIDPROCTABLEWSAEINVALIDPROVIDERWSAEPROVIDERFAILEDINITWSAEREFUSED
© 1993–2021 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.36.0/POSIX