Thread Größten Wert in mehrstufigem Hash finden
(20 answers)
Opened by Stefan_S at 2018-03-15 09:46
Also im Prinzip so:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # zunächst erzeugen wir ein sortierbares Array # Achtung es werden Schlüssel hinzugefügt # guck hier daß es keine Konflikte gibt!!! my @slice = (); foreach my $time(keys %$data){ foreach my $anr( keys %{$data->{$time}} ){ my $hunt = $data->{$time}{$anr}; foreach my $cnr(keys %{$hunt}){ my $charge = $data->{$time}{$anr}{$cnr}; $charge->{TIME} = $time; $charge->{ANR} = $anr; $charge->{CNR} = $cnr; push @slice, $charge; } } } # und nun das Array sortieren # nach den gewünschten Kriterien @slice = map{$_->[0]} sort{$a->[2] <=> $b->[2]} # nach Artikel aufsteigend sort{$a->[3] <=> $b->[3]} # nach Charge aufsteigend sort{$b->[4] <=> $a->[4]} # nach Bestand absteigend map{[$_, $_->{TIME}, $_->{ANR}, $_->{CNR}, $_->{bestand}]} @slice; # 0 1 2 3 4 print Dumper \@slice; Alles klaro ;) |