Beat: Hash nach erstem Element des Arrays (=Value) sortieren

Beitrag lesen

Ich habe einen Hash. Dieser enthält als Keys einfache Strings und als Values jeweils ein Array, welches wiederum fünf Werte enthält, also z.B.

"Schlüssel_1 => @Array(1,4,5,3,5)
"Schlüssel_2 => @Array(3,5,6,1,52)

Der Wert eines Hashelements ist ein Scalar oder eine Referenz.
also

my %hash=(  
   key=>[1,2,3],  
);  

Ich versuche zu verstehen, was
@Array(1,4,5,3,5)
sein könnte

Ich kann mir mein Hash ohne weiteres ausgeben lassen, inkl. desjeweils zugehörigen Array-Values.

Nun möchte ich den Hash so ausgeben, dass die Keys noch dem ersten Element des Arrays sortiert werden.

Weiß jemand wie das gehen könnte?

  
# arrayref->Dereferenzierung  
sort { $hash{$a}->[0] <=> $hash{$b}->[0] } keys %hash;  
  
# equivalente Schreibweie, Dereferenzierung des Arrays implizit.  
sort { $hash{$a}[0] <=> $hash{$b}[0] } keys %hash;  

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische