ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [inet-admins] mail accounting



On Thu, Feb 11, 1999 at 12:01:18AM +0300, Eugene Nesterenko wrote:
> У меня получилось 28 строк на Perl - у кого меньше?
У меня - 9. Оно, конечно, не делает преобразования <user@domain> -> user@domain
но это добавляется без увеличения числа строк (map-ом).
Правда, считать строки в перле не совсем корректно, нужно бы операторы.


while (<>) {
  ($date,$date,$date,$host,$pid,$j,$data)=split(/\s+/,$_,7);
  next unless ($pid=~/sendmail\[\d+\]\:/ && $j=~/[A-Z]+\d+\:/);
  ($m->{$j}->{F},$m->{$j}->{S})=($1,$2) if ($data=~/from=(\S+),.*size=(\d+),/);
  push @{$m->{$j}->{T}},grep {length} split(/[,\\]+/,$1) if ($data=~/to=(\S+),\s.*stat=Sent/);
}
foreach $j(keys %$m) {
 print "From: $m->{$j}->{F} To: $_ Size: $m->{$j}->{S}\n" for(@{$m->{$j}->{T}});
}


Alex Tutubalin
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html



 




Copyright © Lexa Software, 1996-2009.