Иллюстрированный самоучитель по Perl



         

Объявление формата - часть 6


М.Чаунин В.Долженков I III

Ю.Колесников I III

Таким способом можно организовать вывод длинных данных в вертикальные текстовые блоки с переносом по словам.

Немного отвлечемся от создания отчета по книгам, чтобы познакомить читателя с еще одним символом форматирования — символом "*", который позволяет выводить длинные строковые данные в нескольких строках, длина которых равна максимальной ширине вывода устройства отображения (экрана монитора или принтера). Например, если переменная $ record содержит строковые данные длиной более 80 символов и вывод осуществляется на экран монитора, то следующий фрагмент кода Perl

write;

format STDOUT =

$*

$record

отобразит на экране ее содержимое следующим образом:

В.Долженков Ю.Колесников:Excel 2000:BHV:1999:90:Книга является справочным пособием по MS Excel 2000. В ней рассматриваются следующие основные темы - настройка интерфейса и его основные элементы.

Замечание

Используемый в нашей книге шрифт для представления вывода сценария Perl не позволяет нам отобразить истинный вывод в соответствии с заданным форматом, так как внимательный читатель обнаружит, что длина строки вывода в нашем представлении составляет 73 символа, а не 80, как при выводе на экран монитора.

Вернемся к разработке формата для вывода нашего отчета. Пока что отчет был достаточно маленьким и помещался ha одной странице. Реальные отчеты, конечно, на одной странице не поместятся. Наша программа напечатает и несколько страниц отчета. Дело в том, что создание отчетов в Perl предполагает их вывод на принтер, а поэтому после вывода определенного количества строк оператором write () Perl автоматически выведет символ перехода на новую страницу и печать продолжится на следующей странице. По умолчанию количество строк на странице установлено равным 60. Эта величина хранится в специальной переменной $=, значение которой может быть изменено в любое время.

Итак, мы теперь знаем, что переход на новую страницу происходит автоматически, но нам хотелось бы, чтобы на каждой странице печатался верхний колонтитул, в котором отображалось бы наименование отчета и печатались номера страниц. И это возможно в Perl. Следует только задать формат со специальным именем, добавив к имени формата, по которому мы выводим информацию (в нашей программе STDOUT), суффикс _ТОР. Этот формат будет выводиться каждый раз, как начинается печать новой страницы.




Содержание  Назад  Вперед