Приложение 1.
Стандартные функции языка Perl

    Это приложение содержит перечень стандартных функций языка Perl и их краткое описание.

Функции обработки строк и скаляров
Функции, связанные с регулярными выражениями
Числовые функции
Функции обработки массивов скаляров
Функции обработки списков
Функции обработки хеш-массивов
Функции ввода/вывода
Функции для работы с файлами и каталогами
Функции, относящиеся к управлению выполнением программы
Функции, относящиеся к области видимости переменных
Функции, относящиеся к модулям Perl
Функции, относящиеся к классам и объектно-ориентированным технологиям
Разные функции
Функции для работы с процессами и группами процессов
Функции для работы со временем и датой

    В этом приложении представлено краткое описание всех функций Perl в соответствии с категориями их применения.

    Все функции этого приложения, по существу, они являются операциями языка Perl (их синтаксис позволяет задавать параметры в круглых скобках, что внешне похоже на вызов функции) и распадаются на две большие категории:

Принадлежность функции к соответствующей категории влияет на ее старшинство по отношению к операции "запятая". У списковых операций может быть несколько параметров, тогда как именованная унарная операция работает исключительно с одним параметром. Таким образом, операция "запятая" после унарной операции завершает "список" ее параметров, тогда как в списковой операции просто является разделителем ее параметров. Параметр унарной операции обычно вычисляется в скалярном контексте, а списковая операция может предоставлять и скалярный, и списковый контекст для своих параметров. Если она предоставляет оба контекста, то сначала задаются скалярные параметры, после которых следует списковый параметр операции.

    В приводимом в таблицах синтаксисе функций, если она является списковой операцией и требует списка в качестве своего параметра, предоставляя тем самым списковый контекст для всех элементов этого списка, то такой параметр обозначается как список. Такой список может представлять собой комбинацию скалярных и списковых значений. Последние включают в список все свои элементы, начиная с той точки списка, где они заданы, увеличивая тем самым протяженность списка-параметра. Все элементы параметра список должны быть отделены запятыми.

    Параметры всех функций можно задавать и в круглых скобках, и без них. При использовании скобок следует всегда помнить о следующем правиле: если операция выглядит как функция, то она и есть функция, а поэтому в выражении она имеет наивысший приоритет. При задании параметров без скобок функция рассматривается либо как списковая, либо как именованная унарная операция, и, следовательно, следует учитывать ее старшинство при вычислении выражения, в которое она входит.

    В скалярном контексте в случае неудачного выполнения функции обычно возвращают неопределенное значение undef, в списковом контексте - пустой список.

    В языке Perl не регламентировано, что следует считать значением списка, который может возвращать функция, в скалярном контексте. Здесь можно встретиться с различными ситуациями. Каждая операция и функция сама решает, какое значение будет наиболее приемлемым при вычислениях в скалярном контексте: некоторые операции возвращают количество элементов списка, другие - значение первого или последнего элемента списка, третьи - количество успешно выполненных операций.

    При использовании всех, приведенных в таблицах этого приложения, функций следует помнить обо всех нюансах работы со списковыми и именованными унарными операциями языка Perl.

Таблица 1. Функции обработки строк и скаляров
Функция Назначение и синтаксис Общий вид
chomp Удаляет из каждого строкового элемента списка замыкающий символ завершения записи, соответствующий значению переменной $/ (по умолчанию - символ новой строки "\n"). Возвращает общее количество удаленных символов. Список может состоять из одной переменной.
  • chomp СПИСОК
  • chomp (эквивалентно chomp $_)
chop Удаляет из каждого строкового элемента списка последний символ. Возвращаемое значение - удаленный символ из последнего элемента списка. Список может состоять из одной переменной.
  • chop СПИСОК
  • chop (эквивалентно chop $_)
chr Возвращает символ, код которого представлен числовым параметром.
  • chr ЧИСЛО
  • chr (эквивалентно chr $_)
crypt Шифрует ТЕКСТ с использованием заданного в параметре шифра. Обратной функции дешифровки не существует. crypt ТЕКСТ, ШИФР
hex Интерпретирует строковое ВЫРАЖЕНИЕ как шестнадцатеричное число и вычисляет его десятичный эквивалент.
  • hex ВЫРАЖЕНИЕ
  • hex (эквивалентно hex $_)
index Возвращает позицию первого вхождения указанной подстроки в заданную строку или -1, если подстрока не найдена. Если задан параметр ПОЗИЦИЯ, то поиск подстроки осуществляется, начиная с заданной позиции в строке (0 - начало строки). index СТРОКА, ПОДСТРОКА [ ,ПОЗИЦИЯ]
Преобразует все прописные буквы строкового параметра ВЫРАЖЕНИЕ в строчные и возвращает полученную строку. Использует текущие установки локализации, если используется use local.
  • lc ВЫРАЖЕНИЕ
  • lc (эквивалентно lc $_)
lcfirst Преобразует первый символ строкового параметра ВЫРАЖЕНИЕ в нижний регистр и возвращает полученную строку. Использует текущие установки локализации, если используется use local.
  • lcfirst ВЫРАЖЕНИЕ
  • lcfirst (эквивалентно lcfirst $_)
length Возвращает количество байтов в строке, являющейся значением параметра ВЫРАЖЕНИЕ.
  • length ВЫРАЖЕНИЕ
  • length (эквивалентно length $_)
oct Интерпретирует строковое ВЫРАЖЕНИЕ как восьмеричное число и вычисляет его десятичный эквивалент. Если строка начинается с символов "0x", то ее содержимое интерпретируется как шестнадцатеричное число.
  • oct ВЫРАЖЕНИЕ
  • oct (эквивалентно oct $_)
ord Возвращает числовой ASCII-код первого символа строки, являющейся значением параметра ВЫРАЖЕНИЕ.
  • ord ВЫРАЖЕНИЕ
  • ord (эквивалентно ord $_)
pack Упаковывает массив или список значений в двоичную структуру в соответствии с заданным шаблоном, представляющим собой последовательность символов, которые задают порядок и тип значений. Возвращает строку, содержащую полученную структуру. pack ШАБЛОН, СПИСОК
reverse В списковом контексте возвращает список значений, состоящий из элементов заданного параметром список списка; в скалярном контексте соединяет все элементы списка в одну строку и возвращает строку, состоящую из символов полученной строки, но в обратном порядке. reverse СПИСОК
rindex Возвращает позицию последнего вхождения указанной подстроки в заданную строку или -1, если подстрока не найдена. Если задан параметр ПОЗИЦИЯ, то поиск подстроки осуществляется, до заданной позиции в строке (включая символ в этой позиции). rindex СТРОКА, ПОДСТРОКА [ ,ПОЗИЦИЯ]
sprintf Возвращает строку, представляющую форматный вывод списка значений, определяемого параметром список, в соответствии с заданной первым параметром ФОРМАТ строкой формата. Символы форматирования соответствуют аналогичной функции в языке С. sprintf ФОРМАТ, СПИСОК
substr Извлекает из строки, заданной параметром СТРОКА, подстроку длиной равной значению параметра ДЛИНА, начиная с символа, заданного параметром СМЕЩЕНИЕ. Если СМЕЩЕНИЕ отрицательно, то извлечение начинается с последнего символа строки. Если значение параметра ДЛИНА отрицательно, то от конца строки отсекается количество символов, равное абсолютному значению этого параметра. Если задана строка ЗАМЕЩЕНИЕ, то выделенная подстрока замещается ею в параметре СТРОКА. substr СТРОКА, СМЕЩЕНИЕ [ ,ДЛИНА [ ,ЗАМЕЩЕНИЕ]]
uc Преобразует все строчные буквы строкового параметра ВЫРАЖЕНИЕ в прописные и возвращает полученную строку. Использует текущие установки локализации, если используется use local.
  • uc ВЫРАЖЕНИЕ
  • uc (эквивалентно uc $_)
ucfirst Преобразует первый символ строкового параметра ВЫРАЖЕНИЕ в верхний регистр и возвращает полученную строку. Использует текущие установки локализации, если используется use local.
  • ucfirst ВЫРАЖЕНИЕ
  • ucfirst (эквивалентно ucfirst $_)

К оглавлению

Таблица 2. Функции, связанные с регулярными выражениями
Функция Назначение и синтаксис Общий вид
pos Возвращает значение указателя позиции в строке после последней выполненной для нее операции поиска по образцу m//g. Если используется в левой части операции присваивания, то изменяет значение указателя, влияя на \G в регулярном выражении.
  • роs СТРОКА
  • роs (эквивалентно роs $_)
quoterneta Возвращает строку, в которой перед каждым не алфавитно-цифровым символом поставлена обратная косая черта. Значение параметра ВЫРАЖЕНИЕ интерпретируется как строка. (Внутренняя функция реализации управляющего символа \Q в строках в двойных кавычках.)
  • quotemeta ВЫРАЖЕНИЕ
  • quotemeta (эквивалентно quotemeta $_)
split Разбивает строку, являющуюся значением параметра ВЫРАЖЕНИЕ, на массив строк с использованием разделителя, определяемого регулярным выражением в параметре ОБРАЗЕЦ. В списковом контексте возвращает полученный массив, в скалярном контексте - количество найденных строк разбиения. Если задан параметр ПРЕДЕЛ, разбивает на не более, чем заданное этим параметром число строк. Если ВЫРАЖЕНИЕ не задано, то используется $_, если не задан и образец, то разбивает по пробельным символам.
  • split /ОБРАЗЕЦ/ [ ,ВЫРАЖЕНИЕ [ ,ПРЕДЕЛ]]
  • split (эквивалентно split /\s+/, $_)
study Оптимизирует строковые данные параметра СТРОКА для дальнейшего использования в повторных операциях поиска по образцу. В цикле с несколькими операциями поиска может сэкономить время выполнения.
  • study ВЫРАЖЕНИЕ
  • study (эквивалентно study $_)

К оглавлению

Таблица 3. Числовые функции
Функция Назначение и синтаксис Общий вид
abs Вычисление абсолютного значения выражения.
  • abs ВЫРАЖЕНИЕ
  • abs (эквивалентно abs $_)
atan2 Вычисление arctg (X/Y). atan2 X, Y
cos Вычисление функции cos (ВЫРАЖЕНИЕ), выраженное в радианах.
  • cos ВЫРАЖЕНИЕ
  • cos (эквивалентно cos $_)
ехр Вычисление значения экспоненциальной функции eВЫРАЖЕНИЕ.
  • ехр ВЫРАЖЕНИЕ
  • ехр (эквивалентно ехр $_)
hex Интерпретирует строковое ВЫРАЖЕНИЕ как шестнадцатеричное число и вычисляет его десятичный эквивалент.
  • hex ВЫРАЖЕНИЕ
  • hex (эквивалентно hex $_)
int Вычисление целой части числа (отбрасывается дробная часть).
  • int ВЫРАЖЕНИЕ
  • int (эквивалентно int $_)
log Вычисляет натуральный логарифм числа (по основанию е).
  • log ВЫРАЖЕНИЕ
  • log (эквивалентно log $_)
oct Интерпретирует строковое ВЫРАЖЕНИЕ как восьмеричное число и вычисляет его десятичный эквивалент. Если строка начинается с символов "0x", то ее содержимое интерпретируется как шестнадцатеричное число.
  • oct ВЫРАЖЕНИЕ
  • oct (эквивалентно oct $_)
rand Возвращает случайное дробное число в интервале от 0 до значения параметра ВЫРАЖЕНИЕ.
  • rand ВЫРАЖЕНИЕ
  • rand (эквивалентно rand 1)
sin Вычисление функции sin (ВЫРАЖЕНИЕ), выраженное в радианах.
  • sin ВЫРАЖЕНИЕ
  • sin (эквивалентно sin $_)
sqrt Вычисляет квадратный корень числа.
  • sqrt ВЫРАЖЕНИЕ
  • sqrt (эквивалентно sqrt $_)

К оглавлению

Таблица 4. Функции обработки массивов скаляров
Функция Назначение и синтаксис Общий вид
pop Удаляет из массива скаляров последний элемент и возвращает его значение. Если массив пустой, то возвращает неопределенное значение undef.
  • pop МАССИВ
  • pop (в основной программе эквивалентно pop @ARGV, в подпрограмме эквивалентно pop @_)
push Рассматривает массив, заданный параметром МАССИВ, как стек и добавляет в конец массива элементы списка, определяемого параметром список. Возвращает новое количество элементов полученного массива. push МАССИВ, СПИСОК
shift Удаляет из массива скаляров первый элемент и возвращает его значение. После удаления элемента оставшиеся сдвигаются влево: второй становится первым, третий вторым и т. д. Если массив пустой, то возвращает неопределенное значение undef.
  • shift МАССИВ
  • shift (в основной программе эквивалентно shift @ARGV, в подпрограмме эквивалентно shift @_)
splice Удаляет из массива заданное КОЛИЧЕСТВО элементов, начиная с элемента, определенного параметром НОМЕР. В случае задания параметра список заменяет указанные элементы элемента списка. В списковом контексте возвращает удаленные элементы; в скалярном контексте - последний удаленный элемент. Если параметр КОЛИЧЕСТВО не задан, то удаляются все элементы после элемента с номером, определенным параметром НОМЕР. splice МАССИВ, НОМЕР [, КОЛИЧЕСТВО [, СПИСОК]]
unshift Добавляет элементы списка, определенного параметром СПИСОК, в начало массива, заданного параметром МАССИВ. Выполняет действия, противоположные действиям функции shift. unshift МАССИВ, СПИСОК

К оглавлению

Таблица 5. Функции обработки списков
Функция Назначение и синтаксис Общий вид
grep Вычисляет блок операторов БЛОК или ВЫРАЖЕНИЕ для всех элементов списка, заданного параметром СПИСОК, локально устанавливая значение специальной переменной $_ равным значению элемента списка. В списковом контексте возвращает список элементов, для которых ВЫРАЖЕНИЕ вычисляется равным Истина. В скалярном контексте - количество раз, когда ВЫРАЖЕНИЕ вычислялось равным Истина.
  • grep БЛОК СПИСОК
  • grep ВЫРАЖЕНИЕ, СПИСОК
join Соединяет отдельные строковые элементы списка параметра СПИСОК в одну строку, вставляя между ними разделитель, равный значению параметра ВЫРАЖЕНИЕ и возвращает полученную строку. join ВЫРАЖЕНИЕ, СПИСОК
map Вычисляет блок операторов БЛОК или ВЫРАЖЕНИЕ для всех элементов списка, заданного параметром СПИСОК, локально устанавливая значение специальной переменной $_ равным значению элемента списка. Возвращает список элементов, составленный из результатов указанных вычислений для каждого элемента заданного списка. Операторы из БЛОК и ВЫРАЖЕНИЕ вычисляются в списковом контексте.
  • map БЛОК СПИСОК
  • map ВЫРАЖЕНИЕ, СПИСОК
reverse В списковом контексте возвращает список значений элементов заданного параметром СПИСОК списка в обратном порядке. В скалярном контексте соединяет все элементы списка в одну строку и возвращает строку, в которой символы расположены в обратном порядке. reverse СПИСОК
sort Сортирует список значений, определенный параметром СПИСОК. Если параметры БЛОК или ПОДПРОГРАММА не заданы, то используется стандартная процедура сравнения строковых данных; если заданы, то операторы блока или подпрограмма используются в качестве процедуры сравнения при сортировки элементов списка. Возвращает отсортированный список значений исходного списка.
  • sort [ПОДПРОГРАММА] СПИСОК
  • sort [БЛОК] СПИСОК
unpack Выполняет обратные действия относительно действий функции pack(): берет строку (параметр ВЫРАЖЕНИЕ), представляющую двоичную структуру упакованного массива или списка значений, и распаковывает ее в соответствии с заданным параметром ШАБЛОН шаблоном. В списковом контексте возвращает массив полученных значений, в скалярном - значение первого полученного элемента массива. Шаблон должен быть такой же, как и в функции pack(). unpack ШАБЛОН, ВЫРАЖЕНИЕ

К оглавлению

Таблица 6. Функции обработки хеш-массивов
Функция Назначение и синтаксис Общий вид
delete Удаляет из хеш-массива ключ и ассоциированное с ним значение. Ключ можно задавать как вычисляемое значение выражения. Возвращает значение, ассоциированное с удаленным ключом, или неопределенное значение, если заданного ключа в хеш-массиве не существует. delete ВЫРАЖЕНИЕ
each Возвращает следующую пару ключ/значение из хеш-массива, определенного параметром ХЕШ. Можно использовать в цикле для организации чтения хеша. В списковом контексте возвращает пару ключ/значение в виде двухэлементного списка, в скалярном контексте - только ключ. Если перебраны все элементы хеша, то в списковом контексте возвращает пустой список, а в скалярном контексте - неопределенное значение undef; следующий вызов функции each() начинает новый итерационный процесс. each ХЕШ
exists Проверяет, существует ли в хеш-массиве заданный ключ. Если существует, то возвращает булево значение Истина, иначе - Ложь. Параметр может быть выражением, возвращающим ссылку на элемент хеша с заданным ключом, например, $hash{$key}. exists ВЫРАЖЕНИЕ
keys В списковом контексте возвращает список, элементами которого являются все ключи хеш-массива, заданного параметром ХЕШ; в скалярном контексте возвращает количество ключей хеш-массива. keys ХЕШ
values В списковом контексте возвращает список, элементами которого являются все значения хеш-массива, заданного параметром ХЕШ; в скалярном контексте возвращает количество значений хеш-массива. valuesХЕШ

К оглавлению

Таблица 7. Функции ввода/вывода
Функция Назначение и синтаксис Общий вид
binmode Подготавливает файл, ассоциированный с дескриптором ДЕСКРИПТОР, для чтения и записи в двоичном формате, а не в текстовом, в операционных системах, которые различают двоичные и текстовые файлы. В Unix эта функция не имеет никакого эффекта; необходима в MS-DOS и других архаичных системах, иначе двоичный файл может быть испорчен. binmode ДЕСКРИПТОР
dbmclose Разрывает связывание хеш-массива и файлом базы DBM. Заменена функцией untie(). dbmclose ХЕШ
dbmopen Создает связывание хеш-массива с файлом базы DBM, имя которого определяется значением параметра ФАЙЛ_DВ. Заменена функцией tie(). Файл базы данных открывается в режиме, указанном параметром РЕЖИМ. dbmopen ХЕШ, ФАЙЛ_DВ, РЕЖИМ
die Вне тела функции eval() выводит значения элементов списка, заданного параметром СПИСОК, в стандартный файл ошибок STDERR и завершает выполнение сценария Perl с текущим значением специальной переменной $!. Если используется в теле функции eval(), то сообщение об ошибке помещается в переменную $@ и функция eval() завершается с неопределенным значением. Такое поведение позволяет использовать функцию die() для генерирования исключительных состояний. die СПИСОК
eof Тестирует файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР, на конец файла. Возвращает 1, если следующая операция чтения из файла возвратит конец файла. Употребленная без параметра, использует в качестве параметра файл, для которого выполнялась последняя операция чтения. Если используется с пустыми скобками eof(), то тестирует символ конца самого последнего файла из списка файлов, переданных в сценарий через командную строку.
  • eof ДЕСКРИПТОР
  • eof()
  • eof
fileno Возвращает числовой системный дескриптор для файла, ассоциированного с дескриптором, заданным параметром ДЕСКРИПТОР. fileno ДЕСКРИПТОР
flock Блокирует файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР, для выполнения другими пользователями операций, определенных параметром ОПЕРАЦИЯ. Возвращает булево значение Истина в случае успешной блокировки файла и Ложь в противном случае. Блокирует полностью весь файл, а не отдельные записи. flock ДЕСКРИПТОР, ОПЕРАЦИЯ
format Объявляет формат, используемый для вывода функцией write().
getc Возвращает следующий символ из файла, открытого для чтения и ассоциированного с дескриптором, заданным параметром ДЕСКРИПТОР. Если достигнут конец файла или произошла ошибка чтения, возвращает неопределенное значение undef. Если используется без имени дескриптора, то читает из файла стандартного ввода STDIN.
  • getc ДЕСКРИПТОР
  • getc
print Выводит список строковых данных в файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР. Если этот параметр опущен, то вывод осуществляется в стандартный файл вывода STDIN или текущий файл, установленный функцией select(). Если отсутствует параметр СПИСОК, то выводится содержимое специальной переменной $_.
  • print ДЕСКРИПТОР СПИСОК
  • print СПИСОК
  • print
printf Выводит форматированный список строковых данных в файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР. Если этот параметр опущен, то вывод осуществляется в стандартный файл вывода STDIN или текущий файл, установленный функцией select(). Параметр ФОРМАТ представляет строку, содержащую символы форматирования, полностью совпадающие с символами форматирования системной функции Unix printf(3).
  • printf ДЕСКРИПТОР ФОРМАТ, СПИСОК
  • printf ФОРМАТ, СПИСОК
read Чтение заданного количества байт в скалярную переменную, определяемую параметром СКАЛЯР, из файла, связанного с заданным параметром ДЕСКРИПТОР дескриптором. Возвращает истинное количество прочитанных байтов, 0 в случае конца файла и неопределенное значение undef при возникновении ошибки. Параметр СМЕЩЕНИЕ задает позицию в строковой переменной СКАЛЯР, с которой вставляются прочитанные байты (по умолчанию с начала строки данных скалярной переменной). read ДЕСКРИПТОР, СКАЛЯР, КОЛИЧЕСТВО [, СМЕЩЕНИЕ]
readdir В скалярном контексте читает следующее имя элемента каталога, ассоциированного с дескриптором каталога (параметр ДЕСКРИПТОР) функцией opendir(). В списковом контексте возвращает имена всех оставшихся элементов (файлов и каталогов). Если больше не осталось прочитанных элементов, возвращает неопределенное значение в скалярном контексте и пустой список в списковом контексте. readdir ДЕСКРИПТОР
rewinddir Устанавливает текущую позицию каталога, ассоциированного с дескриптором ДЕСКРИПТОР, на начало. rewinddir ДЕСКРИПТОР
seek Устанавливает текущую позицию файла, ассоциированного с дескриптором ДЕСКРИПТОР, смещенной на заданное параметром ПОЗИЦИЯ число байт относительно положения, определяемого параметром ПОЛОЖЕНИЕ (О - начало файла; 1 - текущая позиция; 2 - конец файла). Возвращает 1 при успешном выполнении операции позиционирования, 0 в противном случае. seek ДЕСКРИПТОР, ПОЗИЦИЯ, ПОЛОЖЕНИЕ
seekdir Устанавливает текущую позицию каталога, ассоциированного со своим дескриптором (параметр ДЕСКРИПТОР), для функции readdir(). Параметр ПОЛОЖЕНИЕ должен быть значением, возвращаемым функцией telldir(). seekdir ДЕСКРИПТОР, ПОЛОЖЕНИЕ
select Возвращает дескриптор текущего установленного файла вывода. Если задан параметр ДЕСКРИПТОР, делает файл, ассоциированный с этим дескриптором текущим установленным файлом вывода. Это приводит к тому, что функции print() и write() без дескрипторов будут осуществлять вывод именно в этот файл. select [ДЕСКРИПТОР]
syscall Осуществляет вызов системной команды, заданной первым элементом передаваемого функции списка (параметр СПИСОК); остальные элементы списка передаются этой команде в качестве параметров. В случае неуспешного выполнения системной команды, возвращает -1 и в переменной $! содержится информация об ошибке. syscall СПИСОК
sysread Аналогична функции read(), за исключением того, что осуществляет не буферизованный ввод данных, не используя буферы стандартной системы ввода/вывода stdio. sysread ДЕСКРИПТОР, СКАЛЯР, КОЛИЧЕСТВО [,СМЕЩЕНИЕ]
syswrite Запись заданного количества байт из скалярной переменной, определяемой параметром СКАЛЯР, в файл, ассоциированный с заданным параметром ДЕСКРИПТОР дескриптором. Возвращает истинное количество прочитанных байтов или неопределенное значение undef при возникновении ошибки. Параметр СМЕЩЕНИЕ задает позицию в строковой переменной СКАЛЯР, с которой записываются в файл данные (по умолчанию с начала строки данных скалярной переменной); отрицательное значение этого параметра определяет запись заданного количества байт, начиная с конца строки. Осуществляет не буферизованный вывод данных, не используя буферы стандартной системы ввода/вывода stdio. syswrite ДЕСКРИПТОР, СКАЛЯР, КОЛИЧЕСТВО [, СМЕЩЕНИЕ]
tell Возвращает текущую позицию в файле, ассоциированном с заданным параметром ДЕСКРИПТОР дескриптором. Если параметр опущен, то подразумевается последний файл, для которого была выполнена операция чтения данных. tell [ДЕСКРИПТОР]
telldir Возвращает текущую позицию в каталоге, ассоциированном с заданным параметром ДЕСКРИПТОР дескриптором. tell ДЕСКРИПТОР
truncate Изменяет длину файла, ассоциированного с заданным дескриптором, устанавливая ее равной значению параметра ДЛИНА. Файл может быть увеличен или уменьшен.
  • truncate ДЕСКРИПТОР, ДЛИНА
  • truncate ВЫРАЖЕНИЕ, ДЛИНА
warn Выводит в стандартный файл ошибок STDERR значения элементов списка, определяемого параметром СПИСОК. Если он пуст, то выводит содержимое специальной переменной $@ (обычно после выполнения функции eval), добавляя строку "\t...caught", а если и она пуста, то выводит сообщение "Warning: Something's wrong". warn СПИСОК
write Осуществляет форматный вывод в файл, ассоциированный с заданным параметром ДЕСКРИПТОР дескриптором, в соответствии с определенным форматом. Если параметр не задан, то выводит в стандартный файл вывода STDOUT или в файл, выбранный функцией select(). write [ДЕСКРИПТОР]

К оглавлению

Таблица 8. Функции для работы с файлами и каталогами
Функция Назначение и синтаксис Общий вид
-X Обозначает большую группу именованных унарных операций проверки параметров и состояний файлов, заданных либо дескриптором, либо именем. Имена операций состоят из дефиса, за которым следует одна буква. Все они возвращают значение 1, если файл обладает проверяемым свойством, 0 в противном случае и неопределенное значение, если файл не существует. Если параметр опущен, то используется значение специальной переменной $_.
  • -X ДЕСКРИПТОР
  • -X ИМЯ ФАЙЛА
  • -X
chdir Изменение текущего рабочего каталога на каталог, определяемый значением параметра ВЫРАЖЕНИЕ. Если параметр опущен, домашний каталог становится текущим. Возвращает булево значение Истина в случае успешного выполнения операции замены текущего каталога и Ложь в противном случае. chdir [ВЫРАЖЕНИЕ]
chmod Изменение режима доступа к файлам, имена которых представлены в списке параметров. Первый элемент списка является восьмеричным числом, определяющий новый режим доступа. Возвращает количество файлов, для которых операция изменения режима доступа завершилась успешно. chmod СПИСОК
chown Изменение владельца и группы владельца файлов, имена которых представлены в списке параметров. Первые два элемента списка являются числами, представляющими uid и gid. Возвращает количество файлов, для которых операция изменения владельца и группы завершилась успешно. chown СПИСОК
chroot Определяет новый корневой каталог для всех относительных (начинающихся с косой черты "/") имен файлов процесса пользователя и порожденных им процессов. Не меняет текущий рабочий каталог. В отсутствии параметра используется значение специальной переменной $_. Может вызываться только суперпользователем. chroot ИМЯ_КАТАЛОГА
close Закрывает файл или программный канал, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР. Возвращает булево значение Истина, если успешно очищен буфер и закрыт системный файловый дескриптор. Без параметра закрывает файл или программный канал, ассоциированный с текущим дескриптором, выбранным функцией select(). close [ДЕСКРИПТОР]
closedir Закрывает каталог, ассоциированный с дескриптором каталога, заданным параметром ДЕСКРИПТОР. Возвращает булево значение Истина, если каталог успешно закрыт. closedir ДЕСКРИПТОР
fcntl Реализует системную команду Unix fcntl (2). Перед использованием следует получить доступ к определениям системных констант оператором use Fcntl;. Возвращаемое значение: если системная функция возвращает -1, то функция Perl - неопределенное значение; если системная функция возвращает 0, то функция Perl строку "о but true"; если системная функция возвращает какое-либо другое значение, и функция Perl возвращает это же значение. fcntl ДЕСКРИПТОР, ФУНКЦИЯ, СКАЛЯР
glob Возвращает найденные в текущем каталоге файлы, имена которых удовлетворяют заданному шаблону (с использованием метасимволов Unix "*","?"). Значением выражения должна быть строка, содержащая шаблон имен файлов. glob ВЫРАЖЕНИЕ
ioctl Реализует системную команду Unix ioctl (2). Перед использованием следует получить доступ к определениям системных констант оператором require "ioctl.ph";. Возвращаемое значение: если системная функция возвращает -1, то функция Perl - неопределенное значение; если системная функция возвращает 0, то функция Perl строку "О but true"; если системная функция возвращает какое-либо другое значение, то и функция Perl возвращает это же значение. ioctl ДЕСКРИПТОР, ФУНКЦИЯ, СКАЛЯР
link Создает новую "жесткую" ссылку на файл, заданный параметром СТАРЫЙ. Возвращает булево значение Истина в случае успешного создания ссылки и Ложь в противном случае. link СТАРЫЙ, НОВЫЙ
lstat Возвращает список значений полей структуры индексного дескриптора символической ссылки на файл. Если параметр опущен, то используется значение специальной переменной $_.
  • lstat [ДЕСКРИПТОР]
  • lstat [ВЫРАЖЕНИЕ]
mkdir Создание нового каталога с именем, заданным в параметре КАТАЛОГ, и режимом доступа, определяемым параметром РЕЖИМ. При успешном создании каталога возвращает булево значение Истина, в противном случае Ложь и в переменную $! заносится сообщение об ошибке. mkdir КАТАЛОГ, РЕЖИМ
open Открывает файл, имя которого является значением параметра ВЫРАЖЕНИЕ, и ассоциирует (связывает) его с дескриптором, определяемым параметром ДЕСКРИПТОР. Если параметр ВЫРАЖЕНИЕ не задан, то используется значение скалярной переменной с тем же именем, что и дескриптор. open ДЕСКРИПТОР [, ВЫРАЖЕНИЕ]
opendir Открытие каталога, имя которого равно значению параметра ВЫРАЖЕНИЕ, и связывание его с дескриптором, определяемым параметром ДЕСКРИПТОР. Имена дескрипторов каталогов хранятся в собственном пространстве имен таблицы имен Perl. opendir ДЕСКРИПТОР, ВЫРАЖЕНИЕ
readlink Возвращает значение символической ссылки, определяемой параметром ВЫРАЖЕНИЕ, если символические ссылки реализуются операционной системой; в противном случае - фатальная ошибка. Если при получении значения символической ссылки были получены системные ошибки, возвращает неопределенное значение и в специальную переменную $! заносится сообщение об ошибке. Если параметр опущен, используется значение переменной $_. readlink [ВЫРАЖЕНИЕ]
rename Переименовывает файл. Возвращает 1 в случае успешного переименования и 0 в противном случае. rename СТАРОЕ_ИМЯ, НОВОЕ_ИМЯ
rmdir Удаление каталога, заданного своим именем. Каталог удаляется, если он пустой. Возвращает 1 в случае успешного удаления и 0 в противном, сохраняя в переменной $! сообщение об ошибке. Если параметр опущен, используется значение переменной $_. rmdir ИМЯ_КАТАЛОГА
stat Возвращает список значений тринадцати полей структуры индексного дескриптора файла, заданного либо своим дескриптором (параметр ДЕСКРИПТОР), либо значением выражения (параметр ВЫРАЖЕНИЕ). Если параметр опущен, то используется значение специальной переменной $_. В случае ошибки возвращает пустой список.
  • stat [ДЕСКРИПТОР]
  • stat [ВЫРАЖЕНИЕ]
symlink Создание символической ссылки (параметр НОВОЕ_ИМЯ) на файл (параметр СТАРОЕ_ИМЯ). Возвращает l в случае успешного создания символической ссылки и 0 в противном случае. symlink СТАРОЕ_ИМЯ, НОВОЕ_ИМЯ
umask Устанавливает маску режима доступа процесса, заданную значением параметра ВЫРАЖЕНИЕ (восьмеричное число), и возвращает предыдущее значение маски режима доступа. umask ВЫРАЖЕНИЕ
unlink Удаление файлов, определенных параметром список. Возвращает количество успешно удаленных файлов. unlink СПИСОК
utime Изменяет время доступа и модификации файлов, определенных в параметре СПИСОКк. Первые два элемента списка должны быть числовыми и представлять, соответственно, время последнего доступа и время последней модификации. Возвращает количество файлов, для которых успешно была выполнена указанная операция. utime СПИСОК

К оглавлению

Таблица 9. Функции, относящиеся к управлению выполнением программы
Функция Назначение и синтаксис Общий вид
caller Возвращает контекст выполняемой подпрограммы, если она вызвана без параметра. В скалярном контексте возвращается имя пакета, в котором находится вызывающая данную подпрограмма (т. е. если наша подпрограмма вызывается из другой подпрограммы, функции eval() или require()), или неопределенное значение в противном случае. В списковом контексте возвращает список с разнообразными сведениями. Можно передать в качестве параметра число, определяющее уровень вложенности получаемой информации, т. е. к какой подпрограмме она относится: 0 - наша подпрограмма; 1 - подпрограмма, вызывающая нашу, и т. д. Полный синтаксис выглядит так):
($package, $filename, $line, $subroutine, $hasargs, $wantarray, $evaltext, $is_require) = caller($i);
die Вне тела функции eval() выводит значения элементов списка, заданного параметром СПИСОК, в стандартный файл ошибок STDERR и завершает выполнение сценария Perl с текущим значением специальной переменной $!. Если используется в теле функции eval(), то сообщение об ошибке помещается в переменную $@ и функция eval() завершается с неопределенным значением. Такое поведение позволяет использовать функцию die() для генерациия исключительных состояний. die СПИСОК
do В действительности не является функцией. Выполняет последовательность операторовPerl, заданных в блоке БЛОК, и возвращает значение последнего выполненного оператора. Если параметром является ВЫРАЖЕНИЕ, то рассматривает его значение как имя файла, который загружает и выполняет как последовательность операторов Perl. Если не удается прочитать файл, возвращает неопределенное значение и помещает в переменную $! сообщение об ошибке; если не может откомпилировать файл, то также возвращает неопределенное значение и помещает сообщение об ошибке в переменную $@. Если содержимое файла успешно откомпилировано, то возвращает значение последнего выполненного оператора.
  • do БЛОК
  • do ВЫРАЖЕНИЕ
dump Создание дампа ядра, которое системной командой undump может быть преобразовано в двоичный выполняемый файл. Если задан параметр МЕТКА, то при повторном вычислении двоичного файла, сначала выполнится оператор goto МЕТКА;. Функция устаревшая - существует компилятор из Perl в С, который выполняет ее функцию. dump МЕТКА
eval Если параметром является ВЫРАЖЕНИЕ, то осуществляется синтаксический разбор его строкового значения как программы Perl, которая, в случае успешной компиляции, немедленно выполняется. Компиляция мини-программы осуществляется каждый раз, когда вычисляется функция, и вне окружающего функцию контекста. Если параметр не задан, используется значение специальной переменной $_.
Если параметром является блок операторов БЛОК, то его содержимое компилируется один раз, тогда же, когда компилируются и окружающие функции операторы, и выполняется в контексте основной программы Perl.
При обеих формах вызова функция возвращает значение последнего выполненного оператора мини-программы.
  • eval ВЫРАЖЕНИЕ
  • eval БЛОК
exit Немедленно прекращает выполнение программы с кодом завершения, равным значению параметра ВЫРАЖЕНИЕ. Если параметр не задан, программа завершается с кодом 0. exit [ВЫРАЖЕНИЕ]
return Выход из подпрограммы, функции eval() или do ФАЙЛ с кодом завершения равным значению параметра ВЫРАЖЕНИЕ. Если в подпрограмме, функции eval() или do ФАЙЛ не используется эта функция, то они завершаются с кодом, равным значению последнего выполненного оператора. return ВЫРАЖЕНИЕ
sub В действительности это не функция, а объявление подпрограммы: анонимной (без параметра ИМЯ, но с блоком операторов БЛОК), прототипа (без блока операторов БЛОК) и нормальной.
  • sub БЛОК
  • sub ИМЯ
  • sub ИМЯ БЛОК
wantarray Возвращает значение Истина, если контексту выполняемой подпрограммы требуется списковое значение, и Ложь, если требуется скалярное значение. Возвращает неопределенное значение, если подпрограмме требуется безразличный (void) контекст. wantarray


    Замечание. Для управления последовательностью выполнения программы Perl также используются операции continue, goto, last, next и redo, которые не являются истинными функциями, и поэтому мы не включили их в таблицу 9.

К оглавлению

Таблица 10. Функции, относящиеся к области видимости переменных
Функция Назначение и синтаксис Общий вид
caller Возвращает контекст выполняемой подпрограммы, если она вызвана без параметра. В скалярном контексте возвращается имя пакета, в котором находится вызывающая данную подпрограмма (т. е. если наша подпрограмма вызывается из другой подпрограммы, функции eval() или require()), или неопределенное значение в противном случае. В списковом контексте возвращает список с разнообразными сведениями. Можно передать в качестве параметра число, определяющее уровень вложенности получаемой информации, т. е. к какой подпрограмме она относится: 0 - наша подпрограмма; 1 - подпрограмма, вызывающая нашу, и т. д. Полный синтаксис выглядит так:
($package, $filename, $line, $subroutine, $hasargs, $wantarray, $evaltext, $is_require) = caller($i);
import Вставляет пространство имен одного модуля в другой. Это не встроенная функция, а всего лишь метод, наследуемый от модуля (параметр МОДУЛЬ), которому необходимо экспортировать свои имена (параметр СПИСОК) в другой модуль. import МОДУЛЬ СПИСОК
local Создает временные копии для глобальных переменных, перечисленных в списке ее параметров (динамическая область видимости), видимые в блоке операторов {...}, файле или функции eval().
Если в списке более одной переменной, то он должен быть заключен в круглые скобки. Созданные копии не являются истинными локальными переменными.
  • local ПЕРЕМЕННАЯ
  • local(СПИСОК)
my Объявляет переменные, перечисленные в списке параметров, как локальные (лексически) для блока операторов {...}, файла или функции eval(). Если в списке более одной переменной, то он должен быть заключен в круглые скобки. Созданные переменные являются истинными локальными переменными.
  • my ПЕРЕМЕННАЯ
  • my(СПИСОК)
package Определяет отдельное глобальное пространство имен (пакет): все неопределенные динамические идентификаторы (включая те, которые объявлены через local(), но не my()) будут храниться в нем. Для доступа к ним вне пакета следует указывать префикс, представляющий имя пакета с последующими двумя символами двоеточий "::". Область видимости переменных пакета распространяется до конца блока операторов, в котором расположен пакет или до нового объявления пакета. Если опущено имя пакета, то предписывает, чтобы все идентификаторы были определены, включая имена функций. package [ИМЯ__ПАКЕТА]
use Загружает модуль во время компиляции; если модуль не доступен, то компиляция всей программы прекращается.
  • use МОДУЛЬ СПИСОК
  • use МОДУЛЬ
  • use МОДУЛЬ ВЕРСИЯ СПИСОК
  • use ВЕРСИЯ

К оглавлению

Таблица 11. Функции, относящиеся к модулям Perl
Функция Назначение и синтаксис Общий вид
do В действительности не является функцией. Выполняет последовательность операторовPerl, заданных в блоке БЛОК, и возвращает значение последнего выполненного оператора. Если параметром является ВЫРАЖЕНИЕ, то рассматривает его значение как имя файла, который загружает и выполняет как последовательность операторов Perl. Если не удается прочитать файл, возвращает неопределенное значение и помещает в переменную $! сообщение об ошибке; если не может откомпилировать файл, то также возвращает неопределенное значение и помещает сообщение об ошибке в переменную $@. Если содержимое файла успешно откомпилировано, то возвращает значение последнего выполненного оператора.
  • do БЛОК
  • do ВЫРАЖЕНИЕ
import Вставляет пространство имен одного модуля в другой. Это не встроенная функция, а всего лишь метод, наследуемый от модуля (параметр МОДУЛЬ), которому необходимо экспортировать свои имена (параметр СПИСОК) в другой модуль. import МОДУЛЬ СПИСОК
no Отказ от импортирования символических имен (параметр СПИСОК) модуля (параметр МОДУЛЬ) во время компиляции программы. Является антонимом функции use. no МОДУЛЬ СПИСОК
use Загружает модуль во время компиляции; если модуль не доступен, то компиляция всей программы прекращается.
  • use МОДУЛЬ СПИСОК
  • use МОДУЛЬ
  • use МОДУЛЬ ВЕРСИЯ СПИСОК
  • use ВЕРСИЯ
package Определяет отдельное глобальное пространство имен (пакет): все неопределенные динамические идентификаторы (включая те, которые объявлены через local(), но не my()) будут храниться в нем. Для доступа к ним вне пакета следует указывать префикс, представляющий имя пакета с последующими двумя символами двоеточий "::". Область видимости переменных пакета распространяется до конца блока операторов, в котором расположен пакет или до нового объявления пакета. Если опущено имя пакета, то предписывает, чтобы все идентификаторы были определены, включая имена функций. package [ИМЯ__ПАКЕТА]
require Загружает модуль или класс, имя которого являетсязначением параметра ВЫРАЖЕНИЕ, во время выполнения программы. Если параметр опущен, то используется значение специальной переменной $_. Если значением параметра ВЫРАЖЕНИЕ является число, то оно определяет минимальную версию Perl, необходимую для выполнения программы. require [ВЫРАЖЕНИЕ]

К оглавлению

Таблица 12. Функции, относящиеся к классам и объектно-ориентированным технологиям
Функция Назначение и синтаксис Общий вид
bless После выполнения функции bless() ссылка на субъект Perl (переменную, массив или хеш), определенная параметром ССЫЛКА, становится ссылкой на объект, определяемый пакетом с именем, равным значению параметра ИМЯ_КЛАССА. Если этот параметр не задан, то подразумевается текущий пакет. Возвращаемое значение - ссылка на объект.
  • bless ССЫЛКА, ИМЯ_КЛАССА
  • bless ССЫЛКА
dbmclose Разрывает связывание хеш-массива и файлом базы DBM. Заменена функцией untie(). dbmclose ХЕШ
dbmopen Создает связывание хеш-массива с файлом базы DBM, имя которого определяется значением параметра ФАЙЛ_DВ. Заменена функцией tie(). Файл базы данных открывается в режиме, указанном параметром РЕЖИМ. dbmopen ХЕШ, ФАЙЛ_DВ, РЕЖИМ
package Определяет отдельное глобальное пространство имен (пакет): все неопределенные динамические идентификаторы (включая те, которые объявлены через local(), но не my()) будут храниться в нем. Для доступа к ним вне пакета следует указывать префикс, представляющий имя пакета с последующими двумя символами двоеточий "::". Область видимости переменных пакета распространяется до конца блока операторов, в котором расположен пакет или до нового объявления пакета. Если опущено имя пакета, то предписывает, чтобы все идентификаторы были определены, включая имена функций. package [ИМЯ__ПАКЕТА]
ref Если параметр ВЫРАЖЕНИЕ является ссылкой, то возвращает тип субъекта ссылки; в противном случае Ложь. Если параметр опущен, то используется переменная $_. Возвращаемым значением может быть: REF, SCALAR, ARRAY, HASH, CODE, GLOB или имя пакета, если ссылка была переопределена функцией bless(). ref [ВЫРАЖЕНИЕ]
tie Связывает переменную, определенную параметром ПЕРЕМЕННАЯ, с классом ИМЯ_КЛАССА, который будет обеспечивать реализацию методов доступа для этой переменной, список которых зависит от типа связываемой переменной (скаляр, массив, хеш, дескриптор файла). Операции доступа к связанной переменной (например, получение и присваивание значения для скалярной переменной или присваивание значения элементу массива и т. п.) автоматически вызывают соответствующие методы определенного класса. Элементы параметра СПИСОК передаются соответствующим конструкторам этого класса в зависимости от типа связываемой переменной: TIESCALAR(), TIEARRAY(), TIEHASH() или TIEHANDLE(). Возвращаемым значением функции является объект класса, к которому привязывается переменная. tie ПЕРЕМЕННАЯ, ИМЯ_КЛАССА, СПИСОК
tied Возвращает объект класса, с которым связана переменная, определенная параметром ПЕРЕМЕННАЯ, с помощью функции tie(). $object = tied ПЕРЕМЕННАЯ
untie Разрывает созданную функцией tie() связь между переменной, определенной параметром ПЕРЕМЕННАЯ, и классом, реализующим методы доступа к ней. untie ПЕРЕМЕННАЯ
use Загружает модуль во время компиляции; если модуль не доступен, то компиляция всей программы прекращается.
  • use МОДУЛЬ СПИСОК
  • use МОДУЛЬ
  • use МОДУЛЬ ВЕРСИЯ СПИСОК
  • use ВЕРСИЯ

К оглавлению

Таблица 13. Разные функции
Функция Назначение и синтаксис Общий вид
defined Проверяет, не равно ли значение выражения, заданного параметром ВЫРАЖЕНИЕ, неопределенной величине undef; если не равно, то возвращает булево значение Истина, в противном случае Ложь. Если параметр функции опущен, то используется значение специальной переменной $_. defined [ВЫРАЖЕНИЕ]
formline Внутренняя функция, используемая операцией format, но ее можно вызывать и явным образом. Выводит значения элементов списка, представленного параметром СПИСОК, в специальную переменную $^A - аккумулятор форматного вывода.
Вывод осуществляется в соответствии с заданной параметром ШАБЛОН строкой шаблонов. Управляющие символы "~" и "~~" игнорируются. Всегда возвращает значение Истина.
formline ШАБЛОН, СПИСОК
reset Используется для очистки переменных и переустановки команды поиска ?образец? (обычно в блоке continue цикла). Значением параметра ВЫРАЖЕНИЕ должна быть строка, представляющая символ, с которого начинается имя переменной (допустим дефис "-" для задания интервала символов). Если параметр опущен, то переустанавливает команду поиска ?образец?, чтобы она могла осуществить очередной поиск в соответствии с заданным образцом. Действует только на переменные текущего пакета. Всегда возвращает значение 1. reset [ВЫРАЖЕНИЕ]
scalar Вычисляет выражение, определяемое параметром ВЫРАЖЕНИЕ, в скалярном контексте и возвращает вычисленное значение. scalar ВЫРАЖЕНИЕ
undef Унарная операция, присваивающая параметру ВЫРАЖЕНИЕ неопределенное значение. Применяется к скалярным переменным ($), массивам скаляров (@), хешам (%), подпрограммам (&) и глобальным типам (*). Всегда возвращает неопределенное значение. Вызванная без параметра, просто вычисляет неопределенное значение, которое можно использовать, например, в качестве возвращаемого значения функции. undef [ВЫРАЖЕНИЕ]
vec Рассматривает строковое значение параметра ВЫРАЖЕНИЕ как последовательность целых чисел без знака и возвращает значение битового поля, номер которого определяется значением параметра СМЕЩЕНИЕ (первое поле в строке всегда имеет номер 0). Параметр БИТЫ_ПОЛЯ задает ширину битового поля в битах. Может использоваться в качестве левого значения операции присваивания (в этом случае параметры должны быть заключены в скобки). vec ВЫРАЖЕНИЕ, СМЕЩЕНИЕ, БИТЫ_ПОЛЯ

К оглавлению

Таблица 14. Функции для работы с процессами и группами процессов
Функция Назначение и синтаксис Общий вид
alarm Определяет количество секунд (параметр СЕКУНДЫ), через которое должен быть выдан сигнал SIGALARM. Если параметр отсутствует, используется значение специальной переменной $_. alarm [СЕКУНДЫ]
exec Выполняет заданную параметром список команду, прекращая дальнейшее выполнение программы Perl. Никогда не возвращает кода возврата выполнения команды, только в случае, если команда не существует, возвращает булево значение Ложь. Если список состоит из более чем одного элемента, вызывает системную команду execvp (3) и передает ей в качестве параметров значения списка, которая вызывает заданную первым элементом списка команду, интерпретируя оставшиеся элементы как ее параметры. Если список представлен одной скалярной переменной или массивом из одного элемента, то его значение проверяется на наличие метасимволов командного интерпретатора shell. Если таковые обнаружены, то вся строка передается анализатору shell (в Unix это /bin/sh -с); в противном случае она разбивается на слова и передается в качестве параметра системной команде execvp(). В системной переменной $0 сохраняется имя выполняемой команды. В форме с параметром ПРОГРАММА выполняет команду, заданную этим параметром, а в системную переменную $0 заносится содержимое первого элемента списка. Таким образом можно скрыть от программы Perl имя истинной выполняемой команды.
  • exec СПИСОК
  • exec ПРОГРАММА СПИСОК
fork Осуществляет вызов системной функции fork (2), создающей новый процесс. Возвращает идентификатор порожденного процесса в родительский процесс, значение 0 в порожденный процесс и неопределенное значение undef, если не удалось создать новый процесс. fork
getpgrp Возвращает текущую группу процесса с заданным идентификатором PID. Если значение параметра PID равно 0, или он опущен, то возвращается текущая группа текущего процесса. getpgrp PID
getppid Возвращает идентификатор процесса (ID) родительского процесса. getppid
kill Посылает сигнал процессам, определенным в элементах списка параметра СПИСОК. Первым элементом списка должен быть посылаемый сигнал; если он отрицательный, то уничтожаются группы процессов, а не сами процессы. Возвращает количество процессов, которым передан сигнал. kill СПИСОК
pipe Открывает пару соединенных дескрипторов файлов, образуя программный канал (pipe). Записанные в один файл данные, можно прочитать из другого. При передаче данных используются буферы стандартной системы ввода/вывода stdio. pipe ДЕСКРИПТОР_ЧТЕНИЯ, ДЕСКРИПТОР_ЗАПИСИ
setpgrp Устанавливает для процесса с заданным идентификатором (параметр PID) текущую группу равной значению параметра PGRP. Значение 0 идентификатора процесса соответствует текущему процессу. Если оба параметра опущены, то по умолчанию их значения принимаются равными 0. setpgrp PID, PGRP
sleep Приостанавливает выполнение программы Perl на заданное значением параметра ВЫРАЖЕНИЕ количество секунд или навсегда, если параметр отсутствует. Выходит из состояния ожидания раньше указанного времени, если процесс получает сигнал GIGALARM. Возвращает действительное количество секунд нахождения программы в состоянии ожидания. sleep ВЫРАЖЕНИЕ
system Аналогична функции exec(), но для выполнения команды порождает новый процесс, окончания которого ожидает родительский процесс, прежде чем продолжить свое выполнение. Все, что сказано относительно параметров функции exec(), распространяется и на параметры функции system().
Возвращает такой же код завершения команды, что и функция wait(); для получения истинного кода завершения полученное значение следует разделить на 256.
  • system СПИСОК
  • system ПРОГРАММА СПИСОК
times Возвращает четырехэлементный список, содержащий пользовательское и системное время для процесса и порожденного им процесса. ($user,$system,$cuser,$csystem) = times;
wait Ожидает завершения порожденного процесса и возвращает идентификатор завершенного порожденного процесса или -1 в случае, если порожденных процессов не существует. В специальной переменной $? сохраняется статус завершения. wait
waitpid Ожидает завершения процесса с заданным в параметре PID идентификатором процесса (-1 означает любой процесс) и возвращает идентификатор завершенного порожденного процесса или -1 в случае, если порожденных процессов не существует. Параметр FLAGS представляет набор флагов, уточняющих действия функции. Например, флаг WHOANG означает не блокирующее ожидание завершения любого процесса. Во всех системах реализован флаг 0, означающий блокирующий вызов. В специальной переменной $? сохраняется статус завершения. waitpid PID, FLAGS

К оглавлению

Таблица 15. Функции для работы со временем и датой
Функция Назначение и синтаксис Общий вид
gmtime Преобразует значение даты и времени, полученное функцией time() в 9-элементный массив, соответствующий временной зоне Гринвича. Все элементы массива являются числами. Месяцы ($mon) нумеруются целыми числами от 0 до 11; дни недели ($wday) целыми от 0 до 6, причем 0 соответствует воскресенью; год ($уеаг) отсчитывается от года 1900. В скалярном контексте возвращает такую же структуру даты, что и системная функция ctime (3): "Thu Oct 13 04:54:34 2000"
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime (time);
localtime Полностью соответствует функции gmtime( ) за исключением того, что значения элементов возвращаемого массива соответствуют зоне местного времени, а не гринвичской.
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime (time) ;
time Возвращает число секунд, прошедших от 1 января 1970 года. time
times Возвращает четырехэлементный массив, содержащий пользовательское и системное время для процесса и порожденного им процесса.
( $user, $system, $cuser, $csystem) = times;

К оглавлению