![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Лог вида:
2011 Jan 11 16:29:56 user google.ru 10 10.10.10.10 2011 Jan 11 08:45:47 user ya.ru 10 10.10.10.10 2011 Jan 11 09:02:53 user help.ru 20 10.10.10.10 2011 Jan 11 15:23:40 user ya.ru 10 10.10.10.10 2011 Jan 11 12:11:57 user ya.ru 10 10.10.10.10 Делаю:
У меня передаётся: 16:29:56 user google.ru 10 08:45:47 user ya.ru 10 09:02:53 user help.ru 20 15:23:40 user ya.ru 10 12:11:57 user ya.ru 10 Как сделать сортировку по времени ($time), чтобы передавалось: 08:45:47 user ya.ru 10 09:02:53 user help.ru 20 12:11:57 user ya.ru 10 15:23:40 user ya.ru 10 16:29:56 user google.ru 10 , что то у меня не получается, пробывал вставлять: @Sorted = sort { $a cmp $b } @time; print "@Sorted"; Что то не получилось, подскажите в какую сторону копать? Это сообщение отредактировал(а) treee - 12.1.2011, 09:10 |
|||
|
||||
Jimy |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
Куда вставляли? Покажите окончательный вариант кода, который не работает. В приведенном коде нет никакой сортировки. Это сообщение отредактировал(а) Jimy - 12.1.2011, 10:02 |
|||
|
||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Сюда:
if ( $userrr eq $user ) { @time = $time; @Sorted = sort { $a cmp $b } @time; print "@Sorted"; |
|||
|
||||
Jimy |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 4.7.2010 Репутация: нет Всего: 3 |
![]()
а в вашем коде @time перезаписывается на каждой итерации внутри while |
|||
|
||||
alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 2 Всего: 14 |
Переведите в общее количество секунд и отсортируйте. Пример на CookBook. Только разделите время на часы, минуты, секунды. Функция timelocal понимает месяц в виде строки 'jan', 'feb' и т.д. и год в формате 2011.
|
|||
|
||||
vadiml |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 27.7.2007 Репутация: нет Всего: 7 |
Используйте для сортировки хеш, т.е. сохраните данные вместо массива в хеш где ключём будет время, а потом
print %time{$_} foreach sort keys %time |
|||
|
||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Jimy,
alezzz, vadiml, Спасибо. Jimy, Как Вы написали работает не до конца, время он переносит а остальные данные такие как $userrr, $site, size - нет. |
|||
|
||||
treee |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.12.2010 Репутация: нет Всего: нет |
Благодарю всех за помощь.
Это сообщение отредактировал(а) treee - 20.1.2011, 09:45 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |