Есть несколько способов описать в формате данные, занимающие в отчете несколько строк. Если нужно поместить на странице отчета многострочное текстовое значение, то можно воспользоваться поледержателем @*, который просто выведет значение полностью, сохраняя имеющиеся в нем все символы перевода строки, кроме последнего. Например, так делается в этой программе:
format STDOUT =
Гамлет:
@*
$multi_line_text
(У. Шекспир)
.
$multi_line_text = "Быть\nИли не быть?\nВот в чем вопрос.";
write STDOUT;
В результате ее выполнения будет выведено известное высказывание с сохранением его разбивки на несколько строк:
Гамлет:
Быть
Или не быть?
Вот в чем вопрос.
(У. Шекспир)
Поледержатель
# выводимое многострочное значение
$text = "Что значит имя?\nРоза пахнет розой\n"
. "Хоть розой назови ее, хоть нет.";
write STDOUT;
# описание формата отчета
format STDOUT =
^*
$text
^*
$text
^* ~
$text
^* ~
$text
У.Шекспир, "Ромео и Джульетта"
.
Обратите внимание, что в формате для вывода значения переменной
Что значит имя?
Роза пахнет розой
Хоть розой назови ее, хоть нет.
У.Шекспир, "Ромео и Джульетта"
Если заранее неизвестно минимальное количество выводимых строк, можно применить шаблон повторения многострочного поля (две тильды подряд в любом месте строки,
format STDOUT =
^* ~~
$text
У.Шекспир, "Ромео и Джульетта"
.
В результате будет выведен точно такой же отчет, как и с использованием предыдущего формата, но последний формат гораздо короче и выводит любое количество строк.
Для описания в формате текстового значения, которое должно выводиться на несколько строк, применяется поледержатель следующего вида:
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии