|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : milon 2:5020/400 24 Feb 2004 01:05:56 To : All Subject : hard sort -------------------------------------------------------------------------------- здраствуй All. есть такая проблема: необходимо отсортировать таблицу по переменному количеству столбцов. т.е. таблица - суть хеш: поля - ключи, содержимое - значения: %h = ( "field1" => [a1, ..., aN], ... "fieldM" => [a1, ..., aN], ); так вот, как бы так имея в наличии весь хеш и принимая извне имена ключей (каждый раз может быть разное количество), получить сортировку сначала по первому ключу из принимаемого списка, затем по второму и т.д. дабы понятно было о чем речь: @sorted_indexes = sort { $ref[0]->[$a] cmp $ref[0]->$b || $ref[1]->[$a] cmp $ref[1]->$b || $ref[2]->[$a] cmp $ref[2]->$b || .... } (0 .. $N); здесь $N - количество записей в одном поле или количество строк, коли угодно, а $ref[$i] = \@{ $h{"field$i"} } - ссылка на анонимный массив - их то и может быть сколько угодно. -------------------- --- ifmail v.2.15dev5.3 * Origin: Svit Online (post does not reflect views of Golden Tele (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/167955ffc78d3.html, оценка из 5, голосов 10
|