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

Hallo zusammen.

ich habe folgendes Problem:

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)

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?

Danke im Voraus!

  1. 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
    1. Danke! Das hat funktioniert!