Это приложение содержит перечень стандартных функций языка Perl и их краткое описание.
Функции обработки строк и скаляров
Функции, связанные с регулярными выражениями
Числовые функции
Функции обработки массивов скаляров
Функции обработки списков
Функции обработки хеш-массивов
Функции ввода/вывода
Функции для работы с файлами и каталогами
Функции, относящиеся к управлению выполнением программы
Функции, относящиеся к области видимости переменных
Функции, относящиеся к модулям Perl
Функции, относящиеся к классам и объектно-ориентированным технологиям
Разные функции
Функции для работы с процессами и группами процессов
Функции для работы со временем и датой
В этом приложении представлено краткое описание всех функций Perl в соответствии с категориями их применения.
Все функции этого приложения, по существу, они являются операциями языка Perl (их синтаксис позволяет задавать параметры в круглых скобках, что внешне похоже на вызов функции) и распадаются на две большие категории:
Принадлежность функции к соответствующей категории влияет на ее старшинство по отношению к операции "запятая". У списковых операций может быть несколько параметров, тогда как именованная унарная операция работает исключительно с одним параметром. Таким образом, операция "запятая" после унарной операции завершает "список" ее параметров, тогда как в списковой операции просто является разделителем ее параметров. Параметр унарной операции обычно вычисляется в скалярном контексте, а списковая операция может предоставлять и скалярный, и списковый контекст для своих параметров. Если она предоставляет оба контекста, то сначала задаются скалярные параметры, после которых следует списковый параметр операции.
В приводимом в таблицах синтаксисе функций, если она является списковой операцией и требует списка в качестве своего параметра, предоставляя тем самым списковый контекст для всех элементов этого списка, то такой параметр обозначается как список. Такой список может представлять собой комбинацию скалярных и списковых значений. Последние включают в список все свои элементы, начиная с той точки списка, где они заданы, увеличивая тем самым протяженность списка-параметра. Все элементы параметра список должны быть отделены запятыми.
Параметры всех функций можно задавать и в круглых скобках, и без них. При использовании скобок следует всегда помнить о следующем правиле: если операция выглядит как функция, то она и есть функция, а поэтому в выражении она имеет наивысший приоритет. При задании параметров без скобок функция рассматривается либо как списковая, либо как именованная унарная операция, и, следовательно, следует учитывать ее старшинство при вычислении выражения, в которое она входит.
В скалярном контексте в случае неудачного выполнения функции обычно возвращают неопределенное значение undef, в списковом контексте - пустой список.
В языке Perl не регламентировано, что следует считать значением списка, который может возвращать функция, в скалярном контексте. Здесь можно встретиться с различными ситуациями. Каждая операция и функция сама решает, какое значение будет наиболее приемлемым при вычислениях в скалярном контексте: некоторые операции возвращают количество элементов списка, другие - значение первого или последнего элемента списка, третьи - количество успешно выполненных операций.
При использовании всех, приведенных в таблицах этого приложения, функций следует помнить обо всех нюансах работы со списковыми и именованными унарными операциями языка Perl.
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
chomp | Удаляет из каждого строкового элемента списка замыкающий символ завершения записи, соответствующий значению переменной $/ (по умолчанию - символ новой строки "\n"). Возвращает общее количество удаленных символов. Список может состоять из одной переменной. |
|
chop | Удаляет из каждого строкового элемента списка последний символ. Возвращаемое значение - удаленный символ из последнего элемента списка. Список может состоять из одной переменной. |
|
chr | Возвращает символ, код которого представлен числовым параметром. |
|
crypt | Шифрует ТЕКСТ с использованием заданного в параметре шифра. Обратной функции дешифровки не существует. | crypt ТЕКСТ, ШИФР |
hex | Интерпретирует строковое ВЫРАЖЕНИЕ как шестнадцатеричное число и вычисляет его десятичный эквивалент. |
|
index | Возвращает позицию первого вхождения указанной подстроки в заданную строку или -1, если подстрока не найдена. Если задан параметр ПОЗИЦИЯ, то поиск подстроки осуществляется, начиная с заданной позиции в строке (0 - начало строки). | index СТРОКА, ПОДСТРОКА [ ,ПОЗИЦИЯ] |
lс | Преобразует все прописные буквы строкового параметра ВЫРАЖЕНИЕ в строчные и возвращает полученную строку. Использует текущие установки локализации, если используется use local. |
|
lcfirst | Преобразует первый символ строкового параметра ВЫРАЖЕНИЕ в нижний регистр и возвращает полученную строку. Использует текущие установки локализации, если используется use local. |
|
length | Возвращает количество байтов в строке, являющейся значением параметра ВЫРАЖЕНИЕ. |
|
oct | Интерпретирует строковое ВЫРАЖЕНИЕ как восьмеричное число и вычисляет его десятичный эквивалент. Если строка начинается с символов "0x", то ее содержимое интерпретируется как шестнадцатеричное число. |
|
ord | Возвращает числовой ASCII-код первого символа строки, являющейся значением параметра ВЫРАЖЕНИЕ. |
|
pack | Упаковывает массив или список значений в двоичную структуру в соответствии с заданным шаблоном, представляющим собой последовательность символов, которые задают порядок и тип значений. Возвращает строку, содержащую полученную структуру. | pack ШАБЛОН, СПИСОК |
reverse | В списковом контексте возвращает список значений, состоящий из элементов заданного параметром список списка; в скалярном контексте соединяет все элементы списка в одну строку и возвращает строку, состоящую из символов полученной строки, но в обратном порядке. | reverse СПИСОК |
rindex | Возвращает позицию последнего вхождения указанной подстроки в заданную строку или -1, если подстрока не найдена. Если задан параметр ПОЗИЦИЯ, то поиск подстроки осуществляется, до заданной позиции в строке (включая символ в этой позиции). | rindex СТРОКА, ПОДСТРОКА [ ,ПОЗИЦИЯ] |
sprintf | Возвращает строку, представляющую форматный вывод списка значений, определяемого параметром список, в соответствии с заданной первым параметром ФОРМАТ строкой формата. Символы форматирования соответствуют аналогичной функции в языке С. | sprintf ФОРМАТ, СПИСОК |
substr | Извлекает из строки, заданной параметром СТРОКА, подстроку длиной равной значению параметра ДЛИНА, начиная с символа, заданного параметром СМЕЩЕНИЕ. Если СМЕЩЕНИЕ отрицательно, то извлечение начинается с последнего символа строки. Если значение параметра ДЛИНА отрицательно, то от конца строки отсекается количество символов, равное абсолютному значению этого параметра. Если задана строка ЗАМЕЩЕНИЕ, то выделенная подстрока замещается ею в параметре СТРОКА. | substr СТРОКА, СМЕЩЕНИЕ [ ,ДЛИНА [ ,ЗАМЕЩЕНИЕ]] |
uc | Преобразует все строчные буквы строкового параметра ВЫРАЖЕНИЕ в прописные и возвращает полученную строку. Использует текущие установки локализации, если используется use local. |
|
ucfirst | Преобразует первый символ строкового параметра ВЫРАЖЕНИЕ в верхний регистр и возвращает полученную строку. Использует текущие установки локализации, если используется use local. |
|
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
pos | Возвращает значение указателя позиции в строке после последней выполненной для нее операции поиска по образцу m//g. Если используется в левой части операции присваивания, то изменяет значение указателя, влияя на \G в регулярном выражении. |
|
quoterneta | Возвращает строку, в которой перед каждым не алфавитно-цифровым символом поставлена обратная косая черта. Значение параметра ВЫРАЖЕНИЕ интерпретируется как строка. (Внутренняя функция реализации управляющего символа \Q в строках в двойных кавычках.) |
|
split | Разбивает строку, являющуюся значением параметра ВЫРАЖЕНИЕ, на массив строк с использованием разделителя, определяемого регулярным выражением в параметре ОБРАЗЕЦ. В списковом контексте возвращает полученный массив, в скалярном контексте - количество найденных строк разбиения. Если задан параметр ПРЕДЕЛ, разбивает на не более, чем заданное этим параметром число строк. Если ВЫРАЖЕНИЕ не задано, то используется $_, если не задан и образец, то разбивает по пробельным символам. |
|
study | Оптимизирует строковые данные параметра СТРОКА для дальнейшего использования в повторных операциях поиска по образцу. В цикле с несколькими операциями поиска может сэкономить время выполнения. |
|
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
abs | Вычисление абсолютного значения выражения. |
|
atan2 | Вычисление arctg (X/Y). | atan2 X, Y |
cos | Вычисление функции cos (ВЫРАЖЕНИЕ), выраженное в радианах. |
|
ехр | Вычисление значения экспоненциальной функции eВЫРАЖЕНИЕ. |
|
hex | Интерпретирует строковое ВЫРАЖЕНИЕ как шестнадцатеричное число и вычисляет его десятичный эквивалент. |
|
int | Вычисление целой части числа (отбрасывается дробная часть). |
|
log | Вычисляет натуральный логарифм числа (по основанию е). |
|
oct | Интерпретирует строковое ВЫРАЖЕНИЕ как восьмеричное число и вычисляет его десятичный эквивалент. Если строка начинается с символов "0x", то ее содержимое интерпретируется как шестнадцатеричное число. |
|
rand | Возвращает случайное дробное число в интервале от 0 до значения параметра ВЫРАЖЕНИЕ. |
|
sin | Вычисление функции sin (ВЫРАЖЕНИЕ), выраженное в радианах. |
|
sqrt | Вычисляет квадратный корень числа. |
|
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
pop | Удаляет из массива скаляров последний элемент и возвращает его значение. Если массив пустой, то возвращает неопределенное значение undef. |
|
push | Рассматривает массив, заданный параметром МАССИВ, как стек и добавляет в конец массива элементы списка, определяемого параметром список. Возвращает новое количество элементов полученного массива. | push МАССИВ, СПИСОК |
shift | Удаляет из массива скаляров первый элемент и возвращает его значение. После удаления элемента оставшиеся сдвигаются влево: второй становится первым, третий вторым и т. д. Если массив пустой, то возвращает неопределенное значение undef. |
|
splice | Удаляет из массива заданное КОЛИЧЕСТВО элементов, начиная с элемента, определенного параметром НОМЕР. В случае задания параметра список заменяет указанные элементы элемента списка. В списковом контексте возвращает удаленные элементы; в скалярном контексте - последний удаленный элемент. Если параметр КОЛИЧЕСТВО не задан, то удаляются все элементы после элемента с номером, определенным параметром НОМЕР. | splice МАССИВ, НОМЕР [, КОЛИЧЕСТВО [, СПИСОК]] |
unshift | Добавляет элементы списка, определенного параметром СПИСОК, в начало массива, заданного параметром МАССИВ. Выполняет действия, противоположные действиям функции shift. | unshift МАССИВ, СПИСОК |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
grep | Вычисляет блок операторов БЛОК или ВЫРАЖЕНИЕ для всех элементов списка, заданного параметром СПИСОК, локально устанавливая значение специальной переменной $_ равным значению элемента списка. В списковом контексте возвращает список элементов, для которых ВЫРАЖЕНИЕ вычисляется равным Истина. В скалярном контексте - количество раз, когда ВЫРАЖЕНИЕ вычислялось равным Истина. |
|
join | Соединяет отдельные строковые элементы списка параметра СПИСОК в одну строку, вставляя между ними разделитель, равный значению параметра ВЫРАЖЕНИЕ и возвращает полученную строку. | join ВЫРАЖЕНИЕ, СПИСОК |
map | Вычисляет блок операторов БЛОК или ВЫРАЖЕНИЕ для всех элементов списка, заданного параметром СПИСОК, локально устанавливая значение специальной переменной $_ равным значению элемента списка. Возвращает список элементов, составленный из результатов указанных вычислений для каждого элемента заданного списка. Операторы из БЛОК и ВЫРАЖЕНИЕ вычисляются в списковом контексте. |
|
reverse | В списковом контексте возвращает список значений элементов заданного параметром СПИСОК списка в обратном порядке. В скалярном контексте соединяет все элементы списка в одну строку и возвращает строку, в которой символы расположены в обратном порядке. | reverse СПИСОК |
sort | Сортирует список значений, определенный параметром СПИСОК. Если параметры БЛОК или ПОДПРОГРАММА не заданы, то используется стандартная процедура сравнения строковых данных; если заданы, то операторы блока или подпрограмма используются в качестве процедуры сравнения при сортировки элементов списка. Возвращает отсортированный список значений исходного списка. |
|
unpack | Выполняет обратные действия относительно действий функции pack(): берет строку (параметр ВЫРАЖЕНИЕ), представляющую двоичную структуру упакованного массива или списка значений, и распаковывает ее в соответствии с заданным параметром ШАБЛОН шаблоном. В списковом контексте возвращает массив полученных значений, в скалярном - значение первого полученного элемента массива. Шаблон должен быть такой же, как и в функции pack(). | unpack ШАБЛОН, ВЫРАЖЕНИЕ |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
delete | Удаляет из хеш-массива ключ и ассоциированное с ним значение. Ключ можно задавать как вычисляемое значение выражения. Возвращает значение, ассоциированное с удаленным ключом, или неопределенное значение, если заданного ключа в хеш-массиве не существует. | delete ВЫРАЖЕНИЕ |
each | Возвращает следующую пару ключ/значение из хеш-массива, определенного параметром ХЕШ. Можно использовать в цикле для организации чтения хеша. В списковом контексте возвращает пару ключ/значение в виде двухэлементного списка, в скалярном контексте - только ключ. Если перебраны все элементы хеша, то в списковом контексте возвращает пустой список, а в скалярном контексте - неопределенное значение undef; следующий вызов функции each() начинает новый итерационный процесс. | each ХЕШ |
exists | Проверяет, существует ли в хеш-массиве заданный ключ. Если существует, то возвращает булево значение Истина, иначе - Ложь. Параметр может быть выражением, возвращающим ссылку на элемент хеша с заданным ключом, например, $hash{$key}. | exists ВЫРАЖЕНИЕ |
keys | В списковом контексте возвращает список, элементами которого являются все ключи хеш-массива, заданного параметром ХЕШ; в скалярном контексте возвращает количество ключей хеш-массива. | keys ХЕШ |
values | В списковом контексте возвращает список, элементами которого являются все значения хеш-массива, заданного параметром ХЕШ; в скалярном контексте возвращает количество значений хеш-массива. | valuesХЕШ |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
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(), то тестирует символ конца самого последнего файла из списка файлов, переданных в сценарий через командную строку. |
|
fileno | Возвращает числовой системный дескриптор для файла, ассоциированного с дескриптором, заданным параметром ДЕСКРИПТОР. | fileno ДЕСКРИПТОР |
flock | Блокирует файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР, для выполнения другими пользователями операций, определенных параметром ОПЕРАЦИЯ. Возвращает булево значение Истина в случае успешной блокировки файла и Ложь в противном случае. Блокирует полностью весь файл, а не отдельные записи. | flock ДЕСКРИПТОР, ОПЕРАЦИЯ |
format | Объявляет формат, используемый для вывода функцией write(). | |
getc | Возвращает следующий символ из файла, открытого для чтения и ассоциированного с дескриптором, заданным параметром ДЕСКРИПТОР. Если достигнут конец файла или произошла ошибка чтения, возвращает неопределенное значение undef. Если используется без имени дескриптора, то читает из файла стандартного ввода STDIN. |
|
Выводит список строковых данных в файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР. Если этот параметр опущен, то вывод осуществляется в стандартный файл вывода STDIN или текущий файл, установленный функцией select(). Если отсутствует параметр СПИСОК, то выводится содержимое специальной переменной $_. |
|
|
printf | Выводит форматированный список строковых данных в файл, ассоциированный с дескриптором, заданным параметром ДЕСКРИПТОР. Если этот параметр опущен, то вывод осуществляется в стандартный файл вывода STDIN или текущий файл, установленный функцией select(). Параметр ФОРМАТ представляет строку, содержащую символы форматирования, полностью совпадающие с символами форматирования системной функции Unix printf(3). |
|
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 | Изменяет длину файла, ассоциированного с заданным дескриптором, устанавливая ее равной значению параметра ДЛИНА. Файл может быть увеличен или уменьшен. |
|
warn | Выводит в стандартный файл ошибок STDERR значения элементов списка, определяемого параметром СПИСОК. Если он пуст, то выводит содержимое специальной переменной $@ (обычно после выполнения функции eval), добавляя строку "\t...caught", а если и она пуста, то выводит сообщение "Warning: Something's wrong". | warn СПИСОК |
write | Осуществляет форматный вывод в файл, ассоциированный с заданным параметром ДЕСКРИПТОР дескриптором, в соответствии с определенным форматом. Если параметр не задан, то выводит в стандартный файл вывода STDOUT или в файл, выбранный функцией select(). | write [ДЕСКРИПТОР] |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
-X | Обозначает большую группу именованных унарных операций проверки параметров и состояний файлов, заданных либо дескриптором, либо именем. Имена операций состоят из дефиса, за которым следует одна буква. Все они возвращают значение 1, если файл обладает проверяемым свойством, 0 в противном случае и неопределенное значение, если файл не существует. Если параметр опущен, то используется значение специальной переменной $_. |
|
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 | Возвращает список значений полей структуры индексного дескриптора символической ссылки на файл. Если параметр опущен, то используется значение специальной переменной $_. |
|
mkdir | Создание нового каталога с именем, заданным в параметре КАТАЛОГ, и режимом доступа, определяемым параметром РЕЖИМ. При успешном создании каталога возвращает булево значение Истина, в противном случае Ложь и в переменную $! заносится сообщение об ошибке. | mkdir КАТАЛОГ, РЕЖИМ |
open | Открывает файл, имя которого является значением параметра ВЫРАЖЕНИЕ, и ассоциирует (связывает) его с дескриптором, определяемым параметром ДЕСКРИПТОР. Если параметр ВЫРАЖЕНИЕ не задан, то используется значение скалярной переменной с тем же именем, что и дескриптор. | open ДЕСКРИПТОР [, ВЫРАЖЕНИЕ] |
opendir | Открытие каталога, имя которого равно значению параметра ВЫРАЖЕНИЕ, и связывание его с дескриптором, определяемым параметром ДЕСКРИПТОР. Имена дескрипторов каталогов хранятся в собственном пространстве имен таблицы имен Perl. | opendir ДЕСКРИПТОР, ВЫРАЖЕНИЕ |
readlink | Возвращает значение символической ссылки, определяемой параметром ВЫРАЖЕНИЕ, если символические ссылки реализуются операционной системой; в противном случае - фатальная ошибка. Если при получении значения символической ссылки были получены системные ошибки, возвращает неопределенное значение и в специальную переменную $! заносится сообщение об ошибке. Если параметр опущен, используется значение переменной $_. | readlink [ВЫРАЖЕНИЕ] |
rename | Переименовывает файл. Возвращает 1 в случае успешного переименования и 0 в противном случае. | rename СТАРОЕ_ИМЯ, НОВОЕ_ИМЯ |
rmdir | Удаление каталога, заданного своим именем. Каталог удаляется, если он пустой. Возвращает 1 в случае успешного удаления и 0 в противном, сохраняя в переменной $! сообщение об ошибке. Если параметр опущен, используется значение переменной $_. | rmdir ИМЯ_КАТАЛОГА |
stat | Возвращает список значений тринадцати полей структуры индексного дескриптора файла, заданного либо своим дескриптором (параметр ДЕСКРИПТОР), либо значением выражения (параметр ВЫРАЖЕНИЕ). Если параметр опущен, то используется значение специальной переменной $_. В случае ошибки возвращает пустой список. |
|
symlink | Создание символической ссылки (параметр НОВОЕ_ИМЯ) на файл (параметр СТАРОЕ_ИМЯ). Возвращает l в случае успешного создания символической ссылки и 0 в противном случае. | symlink СТАРОЕ_ИМЯ, НОВОЕ_ИМЯ |
umask | Устанавливает маску режима доступа процесса, заданную значением параметра ВЫРАЖЕНИЕ (восьмеричное число), и возвращает предыдущее значение маски режима доступа. | umask ВЫРАЖЕНИЕ |
unlink | Удаление файлов, определенных параметром список. Возвращает количество успешно удаленных файлов. | unlink СПИСОК |
utime | Изменяет время доступа и модификации файлов, определенных в параметре СПИСОКк. Первые два элемента списка должны быть числовыми и представлять, соответственно, время последнего доступа и время последней модификации. Возвращает количество файлов, для которых успешно была выполнена указанная операция. | utime СПИСОК |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
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. Если не удается прочитать файл, возвращает неопределенное значение и помещает в переменную $! сообщение об ошибке; если не может откомпилировать файл, то также возвращает неопределенное значение и помещает сообщение об ошибке в переменную $@. Если содержимое файла успешно откомпилировано, то возвращает значение последнего выполненного оператора. |
|
dump | Создание дампа ядра, которое системной командой undump может быть преобразовано в двоичный выполняемый файл. Если задан параметр МЕТКА, то при повторном вычислении двоичного файла, сначала выполнится оператор goto МЕТКА;. Функция устаревшая - существует компилятор из Perl в С, который выполняет ее функцию. | dump МЕТКА |
eval | Если параметром является ВЫРАЖЕНИЕ, то осуществляется синтаксический разбор
его строкового значения как программы Perl, которая, в случае успешной компиляции,
немедленно выполняется. Компиляция мини-программы осуществляется каждый раз, когда вычисляется
функция, и вне окружающего функцию контекста. Если параметр не задан, используется значение
специальной переменной $_. Если параметром является блок операторов БЛОК, то его содержимое компилируется один раз, тогда же, когда компилируются и окружающие функции операторы, и выполняется в контексте основной программы Perl. При обеих формах вызова функция возвращает значение последнего выполненного оператора мини-программы. |
|
exit | Немедленно прекращает выполнение программы с кодом завершения, равным значению параметра ВЫРАЖЕНИЕ. Если параметр не задан, программа завершается с кодом 0. | exit [ВЫРАЖЕНИЕ] |
return | Выход из подпрограммы, функции eval() или do ФАЙЛ с кодом завершения равным значению параметра ВЫРАЖЕНИЕ. Если в подпрограмме, функции eval() или do ФАЙЛ не используется эта функция, то они завершаются с кодом, равным значению последнего выполненного оператора. | return ВЫРАЖЕНИЕ | sub | В действительности это не функция, а объявление подпрограммы: анонимной (без параметра ИМЯ, но с блоком операторов БЛОК), прототипа (без блока операторов БЛОК) и нормальной. |
|
wantarray | Возвращает значение Истина, если контексту выполняемой подпрограммы требуется списковое значение, и Ложь, если требуется скалярное значение. Возвращает неопределенное значение, если подпрограмме требуется безразличный (void) контекст. | wantarray |
Замечание. Для управления последовательностью выполнения программы Perl также используются
операции continue, goto, last, next и redo, которые не являются истинными функциями, и
поэтому мы не включили их в таблицу 9.
К оглавлению
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
caller | Возвращает контекст выполняемой подпрограммы, если она вызвана без параметра. В скалярном контексте возвращается
имя пакета, в котором находится вызывающая данную подпрограмма (т. е. если наша подпрограмма
вызывается из другой подпрограммы, функции eval() или require()), или неопределенное
значение в противном случае. В списковом контексте возвращает список с разнообразными сведениями.
Можно передать в качестве параметра число, определяющее уровень вложенности получаемой информации,
т. е. к какой подпрограмме она относится: 0 - наша подпрограмма; 1 - подпрограмма,
вызывающая нашу, и т. д. Полный синтаксис выглядит так: ($package, $filename, $line, $subroutine, $hasargs, $wantarray, $evaltext, $is_require) = caller($i); |
|
import | Вставляет пространство имен одного модуля в другой. Это не встроенная функция, а всего лишь метод, наследуемый от модуля (параметр МОДУЛЬ), которому необходимо экспортировать свои имена (параметр СПИСОК) в другой модуль. | import МОДУЛЬ СПИСОК |
local | Создает временные копии для глобальных переменных, перечисленных в списке ее
параметров (динамическая область видимости), видимые в блоке операторов {...}, файле
или функции eval(). Если в списке более одной переменной, то он должен быть заключен в круглые скобки. Созданные копии не являются истинными локальными переменными. |
|
my | Объявляет переменные, перечисленные в списке параметров, как локальные (лексически) для блока операторов {...}, файла или функции eval(). Если в списке более одной переменной, то он должен быть заключен в круглые скобки. Созданные переменные являются истинными локальными переменными. |
|
package | Определяет отдельное глобальное пространство имен (пакет): все неопределенные динамические идентификаторы (включая те, которые объявлены через local(), но не my()) будут храниться в нем. Для доступа к ним вне пакета следует указывать префикс, представляющий имя пакета с последующими двумя символами двоеточий "::". Область видимости переменных пакета распространяется до конца блока операторов, в котором расположен пакет или до нового объявления пакета. Если опущено имя пакета, то предписывает, чтобы все идентификаторы были определены, включая имена функций. | package [ИМЯ__ПАКЕТА] |
use | Загружает модуль во время компиляции; если модуль не доступен, то компиляция всей программы прекращается. |
|
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
do | В действительности не является функцией. Выполняет последовательность операторовPerl, заданных в блоке БЛОК, и возвращает значение последнего выполненного оператора. Если параметром является ВЫРАЖЕНИЕ, то рассматривает его значение как имя файла, который загружает и выполняет как последовательность операторов Perl. Если не удается прочитать файл, возвращает неопределенное значение и помещает в переменную $! сообщение об ошибке; если не может откомпилировать файл, то также возвращает неопределенное значение и помещает сообщение об ошибке в переменную $@. Если содержимое файла успешно откомпилировано, то возвращает значение последнего выполненного оператора. |
|
import | Вставляет пространство имен одного модуля в другой. Это не встроенная функция, а всего лишь метод, наследуемый от модуля (параметр МОДУЛЬ), которому необходимо экспортировать свои имена (параметр СПИСОК) в другой модуль. | import МОДУЛЬ СПИСОК |
no | Отказ от импортирования символических имен (параметр СПИСОК) модуля (параметр МОДУЛЬ) во время компиляции программы. Является антонимом функции use. | no МОДУЛЬ СПИСОК |
use | Загружает модуль во время компиляции; если модуль не доступен, то компиляция всей программы прекращается. |
|
package | Определяет отдельное глобальное пространство имен (пакет): все неопределенные динамические идентификаторы (включая те, которые объявлены через local(), но не my()) будут храниться в нем. Для доступа к ним вне пакета следует указывать префикс, представляющий имя пакета с последующими двумя символами двоеточий "::". Область видимости переменных пакета распространяется до конца блока операторов, в котором расположен пакет или до нового объявления пакета. Если опущено имя пакета, то предписывает, чтобы все идентификаторы были определены, включая имена функций. | package [ИМЯ__ПАКЕТА] |
require | Загружает модуль или класс, имя которого являетсязначением параметра ВЫРАЖЕНИЕ, во время выполнения программы. Если параметр опущен, то используется значение специальной переменной $_. Если значением параметра ВЫРАЖЕНИЕ является число, то оно определяет минимальную версию Perl, необходимую для выполнения программы. | require [ВЫРАЖЕНИЕ] |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
bless | После выполнения функции bless() ссылка на субъект Perl (переменную, массив или хеш), определенная параметром ССЫЛКА, становится ссылкой на объект, определяемый пакетом с именем, равным значению параметра ИМЯ_КЛАССА. Если этот параметр не задан, то подразумевается текущий пакет. Возвращаемое значение - ссылка на объект. |
|
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 | Загружает модуль во время компиляции; если модуль не доступен, то компиляция всей программы прекращается. |
|
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
defined | Проверяет, не равно ли значение выражения, заданного параметром ВЫРАЖЕНИЕ, неопределенной величине undef; если не равно, то возвращает булево значение Истина, в противном случае Ложь. Если параметр функции опущен, то используется значение специальной переменной $_. | defined [ВЫРАЖЕНИЕ] |
formline | Внутренняя функция, используемая операцией format, но ее можно вызывать и явным образом.
Выводит значения элементов списка, представленного параметром СПИСОК, в специальную переменную $^A -
аккумулятор форматного вывода. Вывод осуществляется в соответствии с заданной параметром ШАБЛОН строкой шаблонов. Управляющие символы "~" и "~~" игнорируются. Всегда возвращает значение Истина. |
formline ШАБЛОН, СПИСОК |
reset | Используется для очистки переменных и переустановки команды поиска ?образец? (обычно в блоке continue цикла). Значением параметра ВЫРАЖЕНИЕ должна быть строка, представляющая символ, с которого начинается имя переменной (допустим дефис "-" для задания интервала символов). Если параметр опущен, то переустанавливает команду поиска ?образец?, чтобы она могла осуществить очередной поиск в соответствии с заданным образцом. Действует только на переменные текущего пакета. Всегда возвращает значение 1. | reset [ВЫРАЖЕНИЕ] |
scalar | Вычисляет выражение, определяемое параметром ВЫРАЖЕНИЕ, в скалярном контексте и возвращает вычисленное значение. | scalar ВЫРАЖЕНИЕ |
undef | Унарная операция, присваивающая параметру ВЫРАЖЕНИЕ неопределенное значение. Применяется к скалярным переменным ($), массивам скаляров (@), хешам (%), подпрограммам (&) и глобальным типам (*). Всегда возвращает неопределенное значение. Вызванная без параметра, просто вычисляет неопределенное значение, которое можно использовать, например, в качестве возвращаемого значения функции. | undef [ВЫРАЖЕНИЕ] |
vec | Рассматривает строковое значение параметра ВЫРАЖЕНИЕ как последовательность целых чисел без знака и возвращает значение битового поля, номер которого определяется значением параметра СМЕЩЕНИЕ (первое поле в строке всегда имеет номер 0). Параметр БИТЫ_ПОЛЯ задает ширину битового поля в битах. Может использоваться в качестве левого значения операции присваивания (в этом случае параметры должны быть заключены в скобки). | vec ВЫРАЖЕНИЕ, СМЕЩЕНИЕ, БИТЫ_ПОЛЯ |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
alarm | Определяет количество секунд (параметр СЕКУНДЫ), через которое должен быть выдан сигнал SIGALARM. Если параметр отсутствует, используется значение специальной переменной $_. | alarm [СЕКУНДЫ] |
exec | Выполняет заданную параметром список команду, прекращая дальнейшее выполнение программы Perl. Никогда не возвращает кода возврата выполнения команды, только в случае, если команда не существует, возвращает булево значение Ложь. Если список состоит из более чем одного элемента, вызывает системную команду execvp (3) и передает ей в качестве параметров значения списка, которая вызывает заданную первым элементом списка команду, интерпретируя оставшиеся элементы как ее параметры. Если список представлен одной скалярной переменной или массивом из одного элемента, то его значение проверяется на наличие метасимволов командного интерпретатора shell. Если таковые обнаружены, то вся строка передается анализатору shell (в Unix это /bin/sh -с); в противном случае она разбивается на слова и передается в качестве параметра системной команде execvp(). В системной переменной $0 сохраняется имя выполняемой команды. В форме с параметром ПРОГРАММА выполняет команду, заданную этим параметром, а в системную переменную $0 заносится содержимое первого элемента списка. Таким образом можно скрыть от программы Perl имя истинной выполняемой команды. |
|
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. |
|
times | Возвращает четырехэлементный список, содержащий пользовательское и системное время для процесса и порожденного им процесса. | ($user,$system,$cuser,$csystem) = times; |
wait | Ожидает завершения порожденного процесса и возвращает идентификатор завершенного порожденного процесса или -1 в случае, если порожденных процессов не существует. В специальной переменной $? сохраняется статус завершения. | wait |
waitpid | Ожидает завершения процесса с заданным в параметре PID идентификатором процесса (-1 означает любой процесс) и возвращает идентификатор завершенного порожденного процесса или -1 в случае, если порожденных процессов не существует. Параметр FLAGS представляет набор флагов, уточняющих действия функции. Например, флаг WHOANG означает не блокирующее ожидание завершения любого процесса. Во всех системах реализован флаг 0, означающий блокирующий вызов. В специальной переменной $? сохраняется статус завершения. | waitpid PID, FLAGS |
Функция | Назначение и синтаксис | Общий вид |
---|---|---|
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; |