Hallo Manfred!
hans.3.dort
peter.1.drüben
ich.8.unten
du.19.oben
wir.3.woanders
usw
Jetzt möchte ich mir die Zeilen anzeigen lassen sortiert nach der Zahlengröße also ähnlich wie eine rangliste.
Ich bekomm es einfach nicht hin könntet ihr mir bitte nochmal helfen?
Wenn es Dir nur darum geht, die Zeilen anhand der enthaltenen Zahl zu sortieren, hilft die Schwartz'sche Transformation (Schwartzian Transform):
C:>perl -w
my @ar = <DATA>;
@ar = map { $_->[0] }
sort { $a->[1] <=> $b->[1] }
map { [ $_, ( /(\d+)/ )[0] ] } @ar;
foreach (@ar) {print $_}
__DATA__
hans.3.dort
peter.1.drüben
ich.8.unten
du.19.oben
wir.3.woanders
Ausgabe:
peter.1.drüben
hans.3.dort
wir.3.woanders
ich.8.unten
du.19.oben
Wenn die Zahlen zuerst erscheinen müssen (z.B. 1.peter.drüben) kannst Du das Ergebnis-Array nach Belieben erneut manipulieren.
@Beat: Kennst Du die Schwartz'sche Trafo genau so wenig wie Hotte?
Viele Grüße aus Frankfurt/Main,
Patrick
--
_ - jenseits vom delirium - _
Diblom [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
_ - jenseits vom delirium - _
Diblom [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?