Язык программирования Perl | страница 58




> $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(), разделяющая строку на список подстрок.

В этой лекции мы познакомимся с другими встроенными функциями для работы с текстом. Хотя в приведенных далее примерах аргументы функций заключены в круглые скобки, использование скобок при вызове встроенных функций необязательно, если не возникает неоднозначности определения аргументов функции.