Таблица
7.7.
Функции для работы с текстом
Функция/Метод |
Синтаксис |
Описание |
Пример |
Perl Функции для работы со скалярами |
chomp |
chomp СПИСОК |
Удаляет из каждого строкового элемента замыкающий символ завершения записи, определенного значением переменной $/ (по умолчанию - \n). Возвращает общее количество удаленных символов. Список может состоять из одной переменной. При использовании без параметра функция эквивалентна chomp $_ . |
|
chop |
chop СПИСОК |
Удаляет из каждого строкового элемента списка последний символ. Возвращаемое значение - удаленный символ из последнего элемента списка. Список может состоять из одной переменной. При использовании без параметров эквивалентно вызову chop $_ . |
|
chr |
chr ЧИСЛО |
Возвращает символ по заданному числовому коду таблицы символов. При использовании без параметров эквивалентно вызову chr $_ . |
|
crypt |
crypt ТЕКСТ, ШИФР |
Шифрует ТЕКСТ с использованием заданного параметра шифра. Обратной функции дешифровки не существует. |
|
hex |
hex ВЫРАЖЕНИЕ |
Интерпретирует строковое ВЫРАЖЕНИЕ как шестнадцатеричное число и вычисляет его десятичный эквивалент. При использовании без параметров вызов аналогичен вызову hex $_ . |
|
index |
index СТРОКА, ПОДСТРОКА[, ПОЗИЦИЯ] |
Возвращает позицию первого вхождения указанной подстроки в заданную параметром СТРОКА строку или "-1", если подстрока не найдена. Если задан параметр ПОЗИЦИЯ, то поиск начинается с заданной позиции в строке (нумерация символов в строке начинается с "0"). |
|
lc |
lc ВЫРАЖЕНИЕ, |
Функция преобразует все прописные буквы строкового параметра ВЫРАЖЕНИЕ в строчные буквы и возвращает полученную строку. В случае применения use local при преобразовании используются текущие локальные установки. При использовании без параметров функция аналогична вызову lc $_ . |
|
lcfirst |
lcfirst ВЫРАЖЕНИЕ |
Преобразует первый символ строкового параметра ВЫРАЖЕНИЕ в нижний регистр и возвращает полученную строку. В случае применения use local при преобразовании используются текущие локальные установки. При использовании без параметров вызов функции аналогичен вызову lcfirst $_ . |
|
length |
length ВЫРАЖЕНИЕ |
Возвращает количество байтов в строке, являющегося значением параметра ВЫРАЖЕНИЕ. При использовании без параметров функция эквивалентна вызову length $_ . |
|
oct |
oct ВЫРАЖЕНИЕ |
Интерпретирует строковое ВЫРАЖЕНИЕ как восьмеричное число и вычисляет его десятичный эквивалент. Если строка начинается с символов 0x, то его содержимое интерпретируется как шестнадцатеричное число. При использовании без параметров вызов функции аналогичен вызову oct $_ . |
|
ord |
ord ВЫРАЖЕНИЕ |
Возвращает числовой ASCII код первого символа строки, являющегося значением параметра ВЫРАЖЕНИЕ. При использовании без параметров вызов функции аналогичен вызову ord $_ . |
|
pack |
pack ШАБЛОН, СПИСОК |
Упаковывает массив или список значений в двоичную структуру в соответствии с заданным шаблоном, представляющим собой последовательность символов, которые задают порядок и тип значений. Возвращает строку, содержащую полученную структуру. |
|
reverse |
reverse СПИСОК |
В списковом контексте возвращает список значений, состоящий из элементов, заданным параметром СПИСОК списка, но в обратном порядке, начиная с последнего символа. В скалярном контексте соединяет все элементы списка в одну строку, состоящую из символов полученной строки, но в обратном порядке. |
|
rindex |
rindex СТРОКА, ПОДСТРОКА[, ПОЗИЦИЯ] |
Возвращает позицию последнего вхождения указанной подстроки в заданную параметром СТРОКА строку или "-1", если подстрока не найдена. Если задан параметр ПОЗИЦИЯ, то поиск начинается до заданной позиции в строке (включая символ в этой позиции). |
|
sprintf |
sprintf ФОРМАТ, СПИСОК |
Возвращает строку, представляющую собой форматный вывод списка значений, определенного параметром СПИСОК, в соответствии с заданной параметром ФОРМАТ строкой формата. Символы форматирования соответствуют функции форматирования языка Си printf. |
|
substr |
substr СТРОКА, СМЕЩЕНИЕ[, ДЛИНА[, ЗАМЕЩЕНИЕ]] |
Находит и возвращает из параметра СТРОКА, подстроку длиной, равной значению параметра ДЛИНА, начиная с символа, заданного параметром СМЕЩЕНИЕ. Если значение СМЕЩЕНИЕ отрицательно, то извлечение начинается с последнего символа строки. Если значение ДЛИНА отрицательно, то от конца строки отсекаются количество символов, равное абсолютному значению этого параметра. Если задан строковый параметр ЗАМЕЩЕНИЕ, то найденная подстрока замещается ею в параметре СТРОКА, который в этом случае должен быть l-Значением. |
|
uc |
uc ВЫРАЖЕНИЕ, |
Функция преобразует все строчные буквы строкового параметра ВЫРАЖЕНИЕ в прописные буквы и возвращает полученную строку. В случае применения use local при преобразовании используются текущие локальные установки. При использовании без параметров вызов функции аналогичен вызову uc $_ . |
|
ucfirst |
ucfirst ВЫРАЖЕНИЕ |
Преобразует первый символ строкового параметра ВЫРАЖЕНИЕ в верхний регистр и возвращает полученную строку. В случае применения use local при преобразовании используются текущие локальные установки. При использовании без параметров вызов функции аналогичен вызову ucfirst $_ . |
|
Лексикографический порядок (lexicographic ordering) совпадает с с упорядочением по алфавиту, когда строки набраны либо прописными, либо строчными буквами. Если вызываемая строка опережает документ, метод возвращает отрицательное значение, Если две сравниваемые строки равны, метод возвращает нулевое значение. Если аргумент опережает вызывающую строку, метод возвращает положительное значение. |
|
Perl Функции для работы со скалярами (поиск и замена фрагментов) |
pos |
pos СТРОКА pos |
Возвращает значение указателя позиции в строке после последней выполненной для нее операции поиска по образцу: m//g. Если используется в левой части операции присвоения, то изменяет значение указателя, влияя на \G в регулярном выражении. При использовании без параметров данный вызов эквивалентен вызову: pos $_. |
|
quotemeta |
quotemeta ВЫРАЖЕНИЕ quotemeta |
Возвращает строку, в которой перед каждым неалфавитно-цифровым символом поставлена обратная черта. Значение параметра: ВЫРАЖЕНИЕ - интерпретируется как строка. (Внутренняя функция реализации управляющего символа \0 в строках в двойных кавычках). При использовании функции без параметров эквивалентно вызову quotemeta $_. |
|
split |
split /ОБРАЗЕЦ/[.ВЫРАЖЕНИЕ[.ПРЕДЕЛ]] split |
Разбивает строку, являющуюся значением параметра: ВЫРАЖЕНИЕ, на массив строк, с использованием разделителя, определяемым регулярным выражением в параметре: ОБРАЗЕЦ. В списковом контексте возвращает полученный массив, в скалярном контексте - количество найденных строк разбиения. Если задан параметр: ПРЕДЕЛ, разбивает на не более чем заданное этим параметром число строк. Если параметр: ВЫРАЖЕНИЕ - не задан, то используется внутренняя специальная переменная интерпретатора Perl $_, Если не задан образец, то разбивает по пробельным символам. При использовании без параметра эквивалентна split /\s+/. $_. Операция split - антагонист операции: join. |
|
study |
study ВЫРАЖЕНИЕ study |
Оптимизирует строковые данные параметра: ВЫРАЖЕНИЕ - для дальнейшего использования в повторных операциях поиска по образцу. В цикле с несколькими операциями поиска может сэкономить время выполнения. При использовании без параметров функция эквивалентна: study $_. |
|
Perl Функции для работы с массивами скаляров |
delete |
delete ВЫРАЖЕНИЕ |
Удаляет из массива скаляров его элемент или фрагмент, заданный параметром: ВЫРАЖЕНИЕ. Если удаляется последний элемент массива, то автоматически изменяется длина массива, если удаляются элементы из его середины, то оставшиеся элементы не сдвигаются (для сдвига используйте функцию splice()), а соответствующий "удаленный" элемент принимает неопределенное значение. В списковом контексте возвращает список удаленных элементов, а в скалярном - их количество. Если удаляемых символов в массиве нет, то возвращает неопределенное значение. Функция delete работает с массивами скаляров только в Perl версий 5.6.0 и выше. |
|
exists |
exists ВЫРАЖЕНИЕ |
Проверяет, был ли когда-либо инициализирован в массиве скаляров элемент, заданный параметром: ВЫРАЖЕНИЕБ, например, $array[3], даже если сейчас его значение не определено. Если да, то возвращает значение "истина", иначе - "ложь". Функция exist работает с массивами скаляров только в Perl версий 5.6.0 и выше. |
|
pop |
pop МАССИВ pop |
Удаляет из массива скаляров последний элемент и возвращает его значение. Если массив пустой, то возвращает неопределенное значение undef. Если функция вызывается без параметров, то главной программе вызов эквивалентен pop @ARGV, а в подпрограмме pop @_. |
|
push |
push МАССИВ, СПИСОК |
Рассматривает массив скаляров, заданный параметром: МАССИВ, как стек и добавляет после его последнего элемента элементы списка, заданные параметром: СПИСОК. Возвращает количество элементов полученного массива. |
|
shift |
shift МАССИВ shift |
Удаляет из массива скаляров первый элемент и возвращает его значение. После удаления элементы оставшиеся элементы сдвигаются влево: второй элемент становится первым, третий - вторым и т.д. Если массив пустой, то возвращает неопределенное значение undef. Если функция вызывается без параметров, то главной программе вызов эквивалентен shift @ARGV, а в подпрограмме shift @_. |
|
splice |
splice МАССИВ, НОМЕР[, КОЛИЧЕСТВО[, СПИСОК]] |
Удаляет из массива количество элементов, заданное значением параметра: КОЛИЧЕСТВО, начиная с элемента, заданное значением параметра: НОМЕР. В случае задания параметра СПИСОК заменяет указанные в нем элементы списка. В списковом контексте возвращает удаленные элементы; в скалярном контексте - последний удаленный элемент. Если параметр:КОЛИЧЕСТВО не задан, то удаляются все элементы после элемента с номером, определенным значением параметра: НОМЕР. |
|
unshift |
unshift МАССИВ, СПИСОК |
Добавляет элементы списка, определенного параметром: СПИСОК, в начало массива, заданного параметром МАССИВ. Выполняет действия, противоположные действиям функции shift. |
|
grep |
grep БЛОК СПИСОК grep ВЫРАЖЕНИЕ, СПИСОК |
|
|
join |
join ВЫРАЖЕНИЕ, СПИСОК |
Рассматривает все элементы списка, определенного параметром: СПИСОК, как строковые значения, соединяет их в одну строку, вставляя между ними разделитель, равный значению параметра: ВЫРАЖЕНИЕ, и возвращает полученную строку. |
|
map |
map БЛОК СПИСОК map ВЫРАЖЕНИЕ, СПИСОК |
|
|
pack |
pack ВЫРАЖЕНИЕ, СПИСОК |
|
|
reverse |
reverse СПИСОК |
В списковом контексте возвращает список значений элементов, заданный параметром: СПИСОК, в обратном порядке, начиная с последнего элемента. В скалярном контексте соединяет все элементы в одну строку и возвращает строку, в которой символы расположены в обратном порядке, начиная с последнего символа. |
|
sort |
sort [ПОДПРОГРАММА] СПИСОК sort [БЛОК] СПИСОК |
Сортирует список значений, заданный в параметре: СПИСОК. Если параметры БЛОК и ПОДПРОГРАММА не заданы, то используется стандартная процедура сравнения строковых данных. Если они заданы, то операторы блока или подпрограммы используются в качестве процедуры сравнения при сортировке элементов списка. В этом случае в теле блока или подпрограммы в последнем операторе следует использовать операцию <=> или cmp в зависимости от сортировки соответственно числовых и строковых данных. Возвращает список, элементами которого являются отсортированные элементы исходного списка. |
|
unpack |
unpack ШАБЛОН, ВЫРАЖЕНИЕ |
|
|