_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Igor Sysoev 2:5020/400 02 Aug 99 13:11:36
Subj : Re: rexx
________________________________________________________________________________
From: "Igor Sysoev" <igor@nitek.ru>
Andrey Lavrentyev wrote in message <7o1it1$hdk$1@jicom.jinr.ru>...
>>>зы: а инструментарий неплохой :) пока под пополамой сидел - всякойлабуды
на
>> нем
>>>понаписал, ломы переделывать на чем-то другом :) особенно классно на нем
>>>текстовые файлы разбирать - логи всякие... брат как-то приволок результат
>
>> Hеужели лучше, чем на перле ?
>однозначно, с одним но что я сравниваю с тем REXX'ом что был в VM/SP.
>Сейчас и не упомню на чем из двух начал раньше писать "CC" or "REXX", ибо
>нас в ту пору в институте пичкали pl/1 & fortran.
> Так для меня "новые интерпретатор и компилятор" были как бальзам, оба
>структурированные, блеск.
О как - однозначно. Интересно, чем же однозначно ? Для предметности
обсуждения, возмем лог апачи и вытащим из него хосты и урлы
к которым эти хосты обращалсиь, при условии, что броузер у там
"Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)"
Одна строка из лога выглядит примерно так:
igor.nitek.ru - - [02/Aug/1999:12:55:39 +0400]
"GET /~igor/ HTTP/1.1" 200 5238 "-"
"Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)"
"www.nitek.ru" "-"
Скрипт, который делает описанную выше задачу:
$LOG = '^(\S+) \S+ \S+ \[([^\]]+)\] "([^"]+)" ' .
'(\S+) (\S+) "([^"]+)" "([^"]+)" "([^"]+)" "([^"]+)"\r?$' ;
while (<>) {
if (($host, $date, $url, $res, $size,
$ref, $agent, $www, $forward) = /$LOG/o) {
print "$host, $url\n" if
$agent =~ m{^Mozilla/4.0 \(compatible; MSIE 4.01; Windows NT\)$} ;
}
}
Как это будет выглядет на рексе ?
С уважением,
Игорь Сысоев
http://www.nitek.ru/~igor/--- ifmail v.2.14dev3 * Origin: NITEK Corporation (2:5020/400)