Thread Natürlicher Sort, aber nicht mit @sorted = sort @unsorted
(30 answers)
Opened by Student87 at 2013-02-05 17:52
@Raubtier:
Ja aber wenn ich Code (perl): (dl
)
1 2 3 4 5 6 my @unsorted = <IN>; my @sorted = sort { (my $first) = $a =~ m/chr(.+)/; (my $second) = $b =~ m/chr(.+)/; $first cmp $second || $first <=> $second } @unsorted; benutze, komme ich nicht zum gewünschten Ergebnis, oder was meinst du jetzt genau ? Soll ich ein if($a und $b = characters) einbauen? Das hab ich nämlich schon versucht, da hatte ich irgendnen Error, erinnere mich nicht mehr genau ... Edit: Ach nee das war was anderes. Hatte versucht zu sagen if($a="X"){$a=23} und if($a="Y"){$a=24}. Das gleiche für $b, der Ansatz schien mir aber irgendwie dumm und es gab halt wie gesagt Fehlermeldungen ... @topeg: 1) Wenn du nach digits matchst, kannst du doch gar nicht chrX und chrY sorten? 2) Was macht ( )[0] ? 3) Der zweite Code ist für mich schwer zu verstehen. Ich hab nachgeguckt, was map macht, aber was macht $_ -> [0] ? Und vor allem: Was ist in der Variable $_ drin ? Ich sehe keinen loop, der die Variable immer wieder mit etwas füllt? Last edited: 2013-02-05 21:18:16 +0100 (CET) |