Создание серверных приложений на языке PERL
1eeb656d

Еще немного об операторе Print



Еще немного об операторе Print

Иногда есть необходимость вывести целый блок однотипной информации. В таком случае использование оператора Print в классическом стиле не совсем удобно. Яркий пример тому программа номер 11: чтобы вывести форму, потребовалось написать оператор Print целых 5 раз, да еще нужно было следить, чтобы перед каждой кавычкой стоял бэк-слэш. Чтобы не возникало подобных неудобств прибегают к методу here-doc. Суть этого метода такова: Прямо в текст программы вставляется фрагмент, предназначенный для вывода, за которым следует выражение-огранечитель. Помимо того, что мы избавляемся от необходимости лишний раз писать оператор print, этот метод хорош и тем, что внутри блока сохраняется форматирование и интерполируются все метасимволы.
Необходимые требования, предъявляемые ограничителям:
1. ограничитель должен быть изолирован, т.е. стоять на следующей строке ПОСЛЕ выводимого блока, и после ограничителя не должно быть никаких символов кроме перевода строки (не путать с метасимвлолм "\n");
2. ограничитель не должен являться зарезервированным литералом (это пока Вам не грозит).
Вот программа 11 с применением метода here-doc:

#!/usr/bin/perl #programm 12 print "Content-Type: text/html\n\n"; &parse_form; print <<OKAY; <form method="get" action="/cgi-bin/script.pl"><br> A =
B = OKAY if ($FORM{'match'} == 1){ print "A + B = ",$FORM{'a'}+$FORM{'b'},"
"; print "A - B = ",$FORM{'a'}-$FORM{'b'},"
"; print "A * B = ",$FORM{'a'}*$FORM{'b'},"
"; print "AB = ",$FORM{'a'}**$FORM{'b'};}

* * * *

Напишите программу, меняющую ключи и значения хеша местами.
Используйте промежуточный массив для решения этой задачи.

Дополнительная информация: [подробно о хешах] [что такое хеши]  [переменные]



Содержание раздела