Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alex Yemelyanov                      2:5020/400     08 Nov 2001  10:40:59
 To : vilfred
 Subject : Re: эта прога объявляет хеш хешей массивов?
 -------------------------------------------------------------------------------- 
 
 
 Hello,
 
 "vilfred" <dmitriy@genphys.phys.msu.su> wrote in message
 news:9sbif7$l17$1@host.talk.ru...
 
 > Привет великомудрому аллу!!
 >
 > хотел написать прогу, которая умеет объявлять хешхешей массивов
 >
 > Задача, есть лог файл допустим, первая позиция айпишник вторая дата
 > (данные разделены запятой, насамом деле не лог файл исходно, а прайс,
 > первое поле айди, фторое фирма и нужно получить доступ по айди и по
 > фирме к нужным данным). Hужно получить доступ одного юзера за все дни в
 > отсортированном виде к каждой html, т.е. нужно выдрать за месяц всех
 > юзеров и для каждого составить статистику посещений к каждой страничке
 >
 > т.е. нужно узнать, где был любой айпишник на серваке за месяц, причем
 > узнать сколько раз этот юзер за месяц побывал на одной и той-же
 > страничке.
 >
 > т.е. хеш хешей массивов... где массивы это число запросов данного юзера
 > к данной страничке за месяц скажем.
 >
 > #!/usr/bin/perl
 > print "content-type: text/html\n\n";
 >
 > open F, "<email-example1" or die "can't open: $!\n"; @mass=<F>; close F;
 > #открываем файл вида
 > #a,b,123,123,345,qwe
 > #a,b,123,123,345,we
 > #a,b,123,123,345,tgfh
 > #a,c,123,123,345,fgh
 > #a,c,123,123,345,dgh
 > #a,d,123,123,345,dfgh
 > #a,d,123,123,345,erre
 > #a,d,123,123,345,fghdhdf
 > #b,c,123,123,345,
 > #b,c,123,123,345,
 > #b,d,123,123,345,dfgh
 > #b,d,123,123,345,erre
 > #b,d,123,123,345,fghdhdf
 >
 > @uniq=grep{!$_{$_}++}
 > map{/^(.*?),/} @mass;
 >
 > #сортируем по первой позиции
 > #т.е. выделяем уникальные буквы до
 > #первой запятой, которые будут ключами
 > #для хеша в виде уникальных хостов посетителей
 > #далее имеем юзеров, для которых
 > #надо записать все странички, т.е. число
 > #просмотров каждым юзером каждой странички
 > #исходя из того, что логфайл велся скажем месяц
 >
 > for $gr1(@uniq){ my @h;
 >   foreach $line(@mass){
 >     push @{$hash{$gr1}{$1}}, $2 if $line=~m!^$gr1,(.*?),(.*)!
 >   }
 > }
 >
 > for $a(sort keys %hash){
 >   print "$a: \n\t{";
 >   for $key(sort keys %{$hash{$a}}){
 >     print "'$key' => ";
 >     print "${$hash{$a}{$key}}[$#{$hash{$a}{$key}}],\n\t";
 >   }
 >   print "}\n";
 > }
 >
 > обращение к элементам @{$hash{$a}{$key}}идет как к элементам массива,
 > по крайней мере исправно выводит первый или второй элемент массива без
 > проблем. Верно ли что как к элементам массива? Т.е. действительно ли на
 > выходе этой проги хеш-хешей массивов? Я просто никогда такого не делал,
 > может тут есть кто кто писал такие штуки. Короче, сабж это или нет?
 >
 > Спасибо!
 
 Может проще базу данных заюзать?
 
 >
 > --
 > TEAM [Маньяки]
 > Отправлено через сервер Talk.Ru - http://www.talk.ru
 
 --
 # Alex S. Yemelyanov
 
 --- ifmail v.2.15dev5
  * Origin: ATK (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 эта прога объявляет хеш хешей массивов?   vilfred   07 Nov 2001 19:04:01 
 Re: эта прога объявляет хеш хешей массивов?   Alex Yemelyanov   08 Nov 2001 10:40:59 
Архивное /ru.perl/7824fcd9ec11.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional