Thread Natürlicher Sort, aber nicht mit @sorted = sort @unsorted (30 answers)
Opened by Student87 at 2013-02-05 17:52

Student87
 2013-02-05 21:01
#165494 #165494
User since
2012-11-08
73 Artikel
BenutzerIn
[default_avatar]
@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)

View full thread Natürlicher Sort, aber nicht mit @sorted = sort @unsorted