Управляющая последовательность | Мнемоника символа | Преобразование |
---|---|---|
\u | Upper case | преобразовать следующий символ к верхнему регистру |
\l | Lower case | преобразовать следующий символ к нижнему регистру |
\U | Upper case | преобразовать символы до \E к верхнему регистру |
\L | Lower case | преобразовать символы до \E к нижнему регистру |
\Q | Quote | отменить специальное значение символов вплоть до \E |
\E | End | завершить действие \U или \L или \Q |
Применение этих преобразующих escape-последовательностей можно проиллюстрировать такими примерами:
use locale; # для правильной обработки кириллицы
$name = 'мария'; # будем преобразовывать значение переменной
print "\u$name"; # будет выведено: Мария
print "\U$name\E"; # будет выведено: МАРИЯ
print "\Q$name\E"; # будет выведено: \м\а\р\и\я
Аналогичного результата можно достигнуть при использовании некоторых строковых функций, о которых пойдет речь далее в этой лекции.
Еще одним видом непосредственной записи в программе текстовой информации являются так называемые встроенные документы (here-documents). Эта конструкция, заимствованная из командного языка Unix, представляет из себя встроенный в программу произвольный текст. Встроенный документ начинается символами <<, за которыми без пробелов указывается ограничитель, отмечающий конец документа. Все строки, начиная со следующей, рассматриваются как содержимое этого документа до тех пор, пока не встретится строка, состоящая только из указанного ограничителя. Обозначающий конец встроенного документа ограничитель должен записываться на отдельной строке с самого ее начала.
$here_document = <
Если желательно записывать ограничитель с пробелами, то его нужно заключить в кавычки, а если он записан кириллицей, то нужно прагмой
use locale;
$here_document = <<'КОНЕЦ ДОКУМЕНТА';
ЭТО НЕ КОНЕЦ ДОКУМЕНТА
КОНЕЦ ДОКУМЕНТА
Во встроенных документах производится интерполяция переменных, если только ограничитель here-документа не заключен в одинарные апострофы. Поэтому встроенные документы часто применяются для комбинирования предварительно отформатированного текста со значениями переменных, как это сделано в следующем примере:
$here_document = <<"END_OF_DOCUMENT"; # присваивание строке
Уважаемый $guests[$n]!
Приглашаем Вас на презентацию книги "$title",
которая состоится $date в $time.
Оргкомитет.
END_OF_DOCUMENT
print $here_document, '-' x 65, "\n";
Например, с помощью here-документа легко и удобно программно создать HTML-страницу, вставляя в нее нужную информацию:
$web_page = <
$header
$article{$number}
Copyright © $year, $author.
HTML
Это один из способов динамического создания на web-сервере гипертекстовых страниц в ответ на запрос информации, например, хранимой в базе данных.
В предыдущих лекциях уже упоминались функции, обрабатывающие символьную информацию:
[x].
[x].
[x].
[x].
В этой лекции мы познакомимся с другими встроенными функциями для работы с текстом. Хотя в приведенных далее примерах аргументы функций заключены в круглые скобки, использование скобок при вызове встроенных функций необязательно, если не возникает неоднозначности определения аргументов функции.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии