>
$here_document = <
Если желательно записывать ограничитель с пробелами, то его нужно заключить в кавычки, а если он записан кириллицей, то нужно прагмой use locale включить учет национальных установок:
>
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 = <
$title
$header
$article{$number}
Вернуться к разделу $topic
Copyright © $year, $author.
HTML
Это один из способов динамического создания на web-сервере гипертекстовых страниц в ответ на запрос информации, например, хранимой в базе данных.
В предыдущих лекциях уже упоминались функции, обрабатывающие символьную информацию:
[x].
chomp(), удаляющая в конце строки символ-разделитель записей;
[x].
chop(), отсекающая любой последний символ строки;
[x].
join(), объединяющая элементы массива в одну строку;
[x].
split(), разделяющая строку на список подстрок.
В этой лекции мы познакомимся с другими встроенными функциями для работы с текстом. Хотя в приведенных далее примерах аргументы функций заключены в круглые скобки, использование скобок при вызове встроенных функций необязательно, если не возникает неоднозначности определения аргументов функции.