|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Igor Nikolaev 2:5030/266 18 Aug 2000 09:00:46 To : Serge Cherpatyuk Subject : Re: algorithm -------------------------------------------------------------------------------- Serge Cherpatyuk <Serge_Cherpatyuk@p41.f44.n4625.z2.fidonet.org> wrote: > Задача: написать обработчик апачевского лог-файла > Чего сделано: выдаёт к камому файлу сколько раз обращались > Хотелось бы: что бы выдавало - к "этому" файлу обращались > "столько-то" раз "такого-то" числа. У тебя очень 'Сишный код'. Я его немного переписал не изменяя алгоритма, посмотри что получилось: #!/usr/bin/perl -w use strict; my @LogFiles = ( '/home/gray/work/perl/sites/log_obr/access_log' ); sub DoLog { my %Urls; open FH, $_[0] or (print "# Can't open $_[0]: $!\n"), return; while( <FH> ) { my ( $w_date, $r_file ) = (split / /)[3,6]; my $date = ( split /[\[:]/, $w_date )[1]; $Urls{$r_file}{$date}++; } close FH; for my $file ( keys %Urls ) { print "File: $file\n"; print " date: $_ cnt:$Urls{$file}{$_}\n" for ( keys %{$Urls{$file}} ); } } &DoLog ( $_ ) foreach (@LogFiles); -- Игорь Hиколаев --- ifmail v.2.12.os.sensi * Origin: А на cpan'е валялись готовые можули. (2:5030/266@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/134163f738328.html, оценка из 5, голосов 10
|