П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 184737 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 85065 раз(а).

Учебник HTML.
Просмотров 78752 раз(а).

Руководство по PHP5.
Просмотров 49338 раз(а).

Хостинг через призму DNS.
Просмотров 56921 раз(а).

Подборка текстов стандартных документов.
Просмотров 48615 раз(а).

Учебник PHP - Самоучитель
Просмотров 55255 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 56365 раз(а).

Внешние атаки...
Просмотров 45806 раз(а).

Учебник PHP.
Просмотров 40501 раз(а).

SSI в примерах.
Просмотров 30673 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Форматы.


В Perl реализован удобный метод создания форматированных отчетов. С помощью оператора format вы описываете заголовки, размеры полей, указываете положение данных на листе в удобной текстовой форме. Затем выполняете команду write(файл), которая выводит отформатированные данные в указанный файл.

Оператор format имеет следующий синтаксис:

	format имя =
	FORMLIST
	.

Обратите внимание на то, что описание формата идет после строки format и заканчивается символом '.' в начале строки.

Здесь 'имя' - это имя формата, такое же как и имя указателя выходного файла. Если 'имя' отсутствует то значение по умолчанию - STDOUT.

FORMLIST - это строки формата. Они бывают трех типов:

  1. Комментарий. Строка начинается символом '#'.
  2. Описатель полей данных (picture).
  3. Строка аргументов используемых описателем.

Описатель - это строка, которая выводится в виде "как есть" за исключением специально обозначенных форматов полей данных. Каждое поле начинается либо символом '@', либо '^'. В описательной строке указывается только положение и вид выводимых данных, но не имена полей и переменных. Для этого предназначена следующая строка аргументов которая следует всегда после описателя и содержит имена переменных или целые выражения в порядке указанном описателем.

Размер и вид поля в описателе обозначается следующими символами:

"<<<<" - выравнить значение по правому краю.
">>>>" - -//- по левому.
"||||" - -//- по центру.
"####.###" - формат числа с точкой.
"@*" - многострочная строка. Данные выводятся в колонку.

Размер поля равен количеству указанных символов.
Символ '^' в начале поля имеет специальное значение.
Так:

  • "^####" - пусто если переменная не определена.

для строчного скаляра:

  • "^<<<<<" Выводится сколько возможно символов, а значение переменной меняется на остаток, вывод которого можно продолжить на следующих строках, которые могут иметь свои поля.

    Пример:

    #!/usr/local/bin/perl
    #
    #	Программа печати пригласительного билета
    #
    $кому = "Чапаеву Василию Ивановичу";
    $от_кого = "Компания МММ";
    $адрес = "Москва, ул. Петровка, д 38";
    $текст = "Уважаемый Василий Иванович! Компания МММ имеет честь пригласить
    Вас и Ваших близких на презентацию наших новых хромовых сапог, сделанных
    на уровне мировых стандартов качества и дизайна.";
    format STDOUT =
    
    	П Р И Г Л А С И Т Е Л Ь Н Ы Й      Б И Л Е Т
    ----------------------------------------------------------------------
    Кому: @<<<<<<<<<<<<<<<<<<<<<<<<<< | ^|||||||||||||||||||||||||||||||
     	$кому,				 $текст
     				  | ^|||||||||||||||||||||||||||||||
    					 $текст
    От кого: @<<<<<<<<<<<<<<<<<<<<<<< | ^|||||||||||||||||||||||||||||||
    	$от_кого,			 $текст
    				  | ^|||||||||||||||||||||||||||||||
    					 $текст
    Адрес:@<<<<<<<<<<<<<<<<<<<<<<<<<< | ^|||||||||||||||||||||||||||||||
    	$адрес,				 $текст
    				  | ^|||||||||||||||||||||||||||||||
    					 $текст
    				  | ^|||||||||||||||||||||||||||||||
    					 $текст
    				  | ^|||||||||||||||||||||||||||||||
    					 $текст
    ----------------------------------------------------------------------
     Отпечатано в типографии ИТУ 38
     .
     write(); # Вывод данных.
     exit 0; # Конец программы 
    

    Результат:

    
    	П Р И Г Л А С И Т Е Л Ь Н Ы Й      Б И Л Е Т
    ----------------------------------------------------------------------
    Кому: Чапаеву Василию Ивановичу    |   Уважаемый Василий Иванович!
                                       |     Компания МММ имеет честь
    От кого: Компания МММ              |  пригласить Вас и Ваших близких
                                       |    на презентацию наших новых
    Адрес:Москва, ул. Петровка, д 38   |   хромовых сапог, сделанных на
                                       |    уровне мировых стандартов
                                       |       качества и дизайна.
                                       |
    ----------------------------------------------------------------------
    Отпечатано в типографии ИТУ 38
    

    Специальные переменные:

    • $~ - построчный формат содержимого.
    • $^ - формат заголовка листа.
    • $% - номер листа.
    • $= - строк в листе.

    Если вы хотите использовать одни и те же форматы для разных файлов, то самый простой путь:

    	use FileHandle;                   # Указать в начале программы
    	format_name файл имя_формата;     # Формат содержимого листа.
    	format_top_name файл имя_формата; # Формат заголовка листа.
    	write(файл);                      # вывод данных.
    

    Здесь 'файл' имеется ввиду указатель файла полученный командой open();

    Если вам нужно в теле листа выводить разного рода форматы (например заголовки групп или отбивку листа), то применяйте format_name.

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




    Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: