Thread Arrayreferenz in Hashreferenz für Subroutine (9 answers)
Opened by Pauline25 at 2011-09-09 16:38

Pauline25
 2011-09-09 16:38
#152275 #152275
User since
2011-08-03
13 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen.

Habe mir gerade mein Script etwas verschachtelt, weil ich ne Subroutine erstellen musste. Kurze Vorgeschichte:
Ich habe eine Textdatei ausgelesen und aus dieser Informationen in einen Hash gepackt. Als Schlüssel dient jeweils ne Zahlenfolge, die Values sind in einem Array gespeichert und werden dem Hash als Arrayreferenz übergeben:

Code (perl): (dl )
 $hash{$key} = [ @array ];


den Hash habe ich am Ende als return Wert an eine Subroutine übergeben

Code (perl): (dl )
1
2
3
 sub dateilesen {
.......
\%hash; } 


So, bis dahin hat alles funktioniert. Jetzt möchte ich die Subroutine aufrufen und mir über print den return Wert, also den Hash ausgeben lassen. Zudem sollen dabei die keys nach dem 1. Arrayelement (numerisch) sortiert werden. Vor der Übergabe der Hashreferenz an die Subroutine hab ich das so gemacht:
Code (perl): (dl )
1
2
3
4
5
6
7
8
 foreach my$key (sort {$hash{$a}->[0] <=> $hash{$b}->[0]}keys%hash)
 {
    print "$key: ";
    foreach my $val (@{$hash{$key}}) {
        print "$val ";
    }
print "\n";
}


Kann mir jemand sagen, wie ich diese sortierte Ausgabe jetzt mit den beiden Referenzen hinbekomme?
Grüße!

View full thread Arrayreferenz in Hashreferenz für Subroutine