:insane:
Ребятки, дорогие, научите сортировать хэш, а? рази навсегда. :confused:
бьюсь-бьюсь с этой заразой, что-то никак у меня "не выходит каменный цветок".
отсортировать да потом еще и на печать бы вевести...
стыдно сказать - перегоняю в массив, сортирую как нужно, да и печатаю.
001 цифра1|цифра2|цифра3|цифра4|буквы|цифра5
key^
Как сортировать по key понятно.
А вот как отсотрировать это, например по "цифра4" - не знаю.
пробовала по всякому. что-то даже получалось но при этом куда-то пропадали значения по которым сортируешь.
Вот, например, в таком хэше есть скажем 40 записей, нужно его отсртировать и вывести в банальную html таблицу.
сейчас я вот как делаю:
while (($ky, $ve) = each (%HASH)) {
my ($tt,$m,$d,$h,$rr,$w)=split (/\\|/,$ve);
my ($r,undef) = split(/\\|/,$Remark{$ky});
push (@cnt,join(\'|\', $ky,$r,$tt,$m,$d,$h,$rr,$w,"\\n"));
}
@cnt=sort $data @cnt;
$data получаю из строки запроса. в данном случае это "bymnt"
sub bymnt { my $mnta=(split(/\\|/,$a))[3]; my $mntb=(split(/\\|/,$b))[3]; return ($mntb <=> $mnta); }