PERL: БИБЛИОТЕКА ПРОГРАММИСТА


PERL: БИБЛИОТЕКА ПРОГРАММИСТА - стр. 71


Позиции:

14

20

41

59 63 67  72

I

I

47

_ END

FLAGS

100

140

100100

100140

I  I  I

STA TTY TIME COMMAND

UID О О

101

PID 1

187 428

PPID PRI

N1  SIZE   RSS WCHAN

0 1

1

О  0   760  432 do.select  S  ?  0:02 init О  0   784  452 do_select  S  ?  0:02 syslogd О  0  1436  944 do.exit    S   1 0:00 /bin/

login

99 30217

101   593

101 30639

101 25145

0 10116

402

426

9562

9563

9564

100000

О  0  1552 1008 posix.lock S  ?  0:00 httpd
О  0  1780 1260 copy.thread S   1 0:00 -tcsh
17  0   924  496          R  p1 0:00 ps axl

0

100100

100100 100000

0  0  2964 2360 idetape_rea S  p2 0:06 trn 0  0  1412  926 setup_frame T  p3 0:00 ssh -C

www

О 26560 26554 101 19058  9562

0  0  1076  572 setup_frame T  p2 0:00 less 0  0  1396  900 setup_frame T  p1 0:02 nvi /

tmp/a

В программе psgrep объединены многие приемы, представленные в книге. Об удалении начальных и конечных пропусков рассказано в рецепте 1.14. Преобра­зование позиций разреза в формат unpack для извлечения полей с фиксированным положением рассматривается в рецепте 1.1. Поиску регулярных выражений в строках посвящена вся глава 6.

Многострочный текст, передаваемый die, представляет собой встроенный до­кумент (см. рецепты 1.10 и 1.11). Присваивание ©fields{©fieldnames} заносит сра­зу несколько величин в хэш %f ields. Хэши рассматриваются в рецептах 4.7 и 5.10.

Входные данные программы-примера, расположенные под_ END       , описаны в

рецепте 7.6. На стадии разработки для тестирования использовались «консерви­рованные» данные, полученные через файловый манипулятор DATA. Когда програм­ма заработала, мы перевели ее на получение данных из присоединенной команды ps, однако исходные данные были оставлены для будущего переноса на другие плат­формы и сопровождения. Конвейерный запуск других программ рассматривает-


1.18. Программа: psgrep    65

ся в главе 16 «Управление процессами и межпроцессные взаимодействия», осо­бенно в рецептах 16.10 и 16.13.




Начало  Назад  Вперед



Книжный магазин