Вывод по формату итоговой строки
while (<BOOKS>) {
($author, $title, $pub, $year, $price) = split(':'); # Разбиение строки
t по символу ':'
write; # Форматный вывод строки $total += $price; t Подсчет общей суммы
}
$~ = TOTAL; # Переключение формата
write; # Вывод по формату итоговой строки
format STDOUTJTOP =
Заказ № @#
$ number Автор Название Издатель Год Цена
format STDOUT = '
Л <«««««««««««« | @»»»»>» | @М!11М I @t### I @###.##р.
$author, $title, $pub, $year, $price
A «««««««««<««« | | | | ~~
$author
format TOTAL =
Итого: @###.##р. $total
В этой программе после форматной печати содержимого файла books осуществляется переключение на другой формат, по которому выводится строка с общей суммой заказа, подсчитанной в переменной $totai. Полученный с помощью этой программы заказ показан ниже
Заказ № I Автор Название Издатель Год Цена
В.Долженков Ю.Колесников I Excel 2000 I BHV | 1999 I 90.00р.
А.Матросов А.Сергеев I HTML 4.0 I BHV | 1999 | 70.00р.
М.Чаунин I I II
Т.Кристиансен Н.Торкингтон I Perl I Питер | 2000 | 100.00р.
Итого: 260.00р.
В завершение разговора о создании отчетов в Perl мы модифицируем программу примера 8.1, приспособив ее для печати отчета на основании информации о книгах из файла books, в котором в записи о книгах добавлено еще одно поле, содержащее краткую аннотацию книги:
В.Долженков Ю.Колесников:Excel 2000:BHV:1999:90:Аннотация книги
Отчет, формируемый этой программой (пример 8.3), также печатает нижний колонтитул на каждой странице. Для этого мы воспользуемся специальной переменной $ л ь, содержимое которой Perl печатает перед переходом на новую страницу во время форматного вывода. При этом следует уменьшить на количество строк, заданных в этой переменной, количество строк на странице, хранящееся в специальной переменной $=, иначе строки из переменной $ л ь попадут не в конец текущей страницы, а будут напечатаны на следующей странице, не создав никакого нижнего колонтитула.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий