Forum Webscript.Ru
Программирование => Perl => Тема начата: Timofey от 09 Ноября 2001, 16:51:55
-
Есть хэш,типа
$my{1}=343;
$my{2}=3343;
$my{3}=3453;
$my{4}=3343;
как его отсортировать по значениям,так чтобы знать
клю и значение отсортированных элементов,т.е.
foreach $value(sort values %my)
{
print"$value\\n";
}
не подходит,т.к. неизвестны ключи элементов
-
foreach my $key(sort{$my{$a}<=>$my{$b}} keys %my){
print $key, \' => \', $my{$key};
}
по возрастанию.
по убыванию:
$my{$b}<=>$my{$a}
строковая сортировка по кодам:
$my{$a} cmp $my{$b}
-
Hi.
tebe eto nuz\'no?
###############################
%h=(1 => 343
,2 => 3343
,3 => 3453
,4 => 3343);
foreach my $value (sort { $h{$a} cmp $h{$b} } keys %h){
print "$value -> $h{$value}\\n";
}
###############################
-
O opozdal :)