Leser: 1
![]() |
![]() |
9 Einträge, 1 Seite |
%hash= ( 1 => 102, 2 => 103, 4 => 102, 5 => 104, 6 => 103, 8 => 101);
@array=(1,2,4,5,6,8); # also nach key sortiert is einfach hab ich schon
@array=(8,1,4,2,6,5); # nach values sortiert, gruppiert und dann wieder aufsteigend sortiert
@array = sort{$hash{$a} <=> $hash{$b} || $a <=> $b} keys(%hash);
@array = sort{$a <=> $b} keys(%hash);
1
2
3
4
5
6
#! /usr/bin/perl
%hash= ( 1 => 102, 2 => 103, 4 => 102, 5 => 104, 6 => 103, 8 => 101);
@array = sort{$hash{$a} <=> $hash{$b} || $a <=> $b} keys(%hash);
print $_,"\n" for(@array);
Quote~ 1> perl test.pl
8
1
4
2
6
5
QuoteWas aber mordur wollte (wenn ich ihn richtig verstanden habe) war, dass erst nach den Values sortiert wird (der Teil vor den || ) und innerhalb der sortierten Values nochmal die zugehörigen Keys...
Quotenach values sortiert, gruppiert und dann wieder aufsteigend sortiert
Quote%hash= ( 1 => 102, 2 => 103, 4 => 102, 5 => 104, 6 => 103, 8 => 101);
Quote1 102
2 103
4 102
5 104
6 103
8 101
Quote8 101
4 102
1 102
6 103
2 103
5 104
Quote8 101
1 102
4 102
2 103
6 103
5 104
![]() |
![]() |
9 Einträge, 1 Seite |