Язык программирования Perl
Шрифт:
Необычность функции substr в Perl состоит в том, что она может применяться для изменения строки, относясь к группе так называемых левосторонних функций, которые могут употребляться в левой части операции
Подобным же образом можно удалить последние 5 символов строки, заменив их пустой строкой:
Сочетая уже известные функции, можно выполнять разные манипуляции с текстовой информацией. Например, чтобы переставить слова в строке, можно воспользоваться функциями split, reverse и join в списочном контексте:
В Perl есть набор функций для преобразования букв из заглавных в строчные и наоборот. Для правильного преобразования русских букв нужно включить поддержку национальных установок операционной системы с помощью прагмы use locale. Преобразовать текст к нижнему регистру (lower case) можно с помощью функции lc, которая возвращает значение текстового выражения, преобразованное к строчным буквам:
Функция lcfirst возвращает значение строкового выражения, в котором только первый символ преобразован к нижнему регистру, например:
К верхнему регистру (upper case) преобразовать текст можно с помощью функции uc, которая возвращает значение символьного выражения, преобразованное к заглавным буквам.
Функция ucfirst возвращает значение строкового выражения, в котором только первый символ преобразован к верхнему регистру. Так, например, можно записать имя собственное с заглавной буквы:
Встроенная функция crypt выполняет шифрование строки, переданной ей в качестве аргумента, используя второй аргумент в качестве "затравки" (salt) для шифрования:
Эта функция не имеет парной расшифровывающей функции и чаще всего используется для сравнения открытого текста с существующей зашифрованной строкой, как это делается в следующем примере:
Функция quotemeta находит в символьном выражении метасимволы (о которых пойдет речь в следующей лекции) или escape-последовательности и возвращает строку, где у всех специальных символов отменено их особое значение: для этого перед каждым из них ставится символ обратной косой черты '\'.
В Perl имеется несколько функций преобразования строкового представления числа в числовое значение. Функция hex возвращает десятичное значение выражения, представленного как шестнадцатиричное число в виде строки:
Функция oct возвращает десятичное значение строкового выражения, представляющего запись восьмеричного числа:
С помощью oct можно также преобразовать к десятичному значению двоичное или шестнадцатиричное число, записанное в виде строки:
Ну а строку, содержащую число в десятичной системе счисления, можно преобразовать к числу, поместив ее в числовой контекст:
Функция sprintf возвращает строку, которая сформирована в соответствии с правилами форматирования, заимствованными из языка C: на основе формата преобразования, заданного первым аргументом, в результирующую строку подставляются отформатированные значения из списка остальных аргументов функции. В общем виде вызов этой функции выглядит так: sprintf(ФОРМАТ, СПИСОК АРГУМЕНТОВ). В формате преобразования располагается любой текст, в котором могут присутствовать указания преобразования. Каждое указание начинается с символа процента (%) и заканчивается символом, определяющим преобразование. Основные преобразования приведены в таблице 7.2.