Ein zu sortierender Key ist ein String, bestehend aus numerischen und nicht numerischen Zeichen.
also aus \d und \D
also aus allen möglichen Zeichen
Wobei bei meinem beispiel folgende Definition unterblieb:
0 < 1
aber ist undef < 0 ?
derzeit noch nicht entschieden.
Es wäre möglich einen String in mehrere Felder zu splitten. Ich weiss aber nicht, nach welcher Weise ich jedes Feld sortieren muss.
garnicht, den du willst ja nicht INNERHALB des Strings sortieren, sondern das Array
ja schon klar. Sortiert wird immer ein Array von irgend etwas.
$a<=>$b führt bei \D zu einem Error.
Ich muss zugeben, ich kenne diesen Operator nicht und ehrlich gesagt kann ich nicht mal raten welche sinnvolle Funktion diese Opterator-Kombination hat, da er Numerisch gesehen immer WAHR wäre.
Perl numerisch
sort{ $a <=> $b } @array
Perl alphabetisch
sort{ $a cmp $b } @array
gleichwertig mit
sort @array
Die Frage wäre, nach welchem Prinzip liesse sich ein solcher gemischter Algorithmus erstellen.
Theoretisch kannst du sortieren wonach du willst, dank Callback Funktion
ja schon klar dass ich auch
sort my_algorythm() @array
verwenden kann
gesucht ist ein sekundärer Sortierkey.
Was willst du genau machen? Eine Sortierfunktion, welche zuerst Sonderzeichen, dann Zahlen und dann Buchstaben anzeigt?
Ich suche die Eierlegende Wollmilchsau.
Ein String besteht aus Ketten von \d*\D* oder ist undef.
Es soll das skizzierte sortierte Beispiel herauskommen.
Mein Denkansatz geht in eine Art Heap-Prozedur.
Ich knabbere jeweils die vordersten \d+ bzw \D+ Zeichen der Keys an und ordne dann diese einem hash zu.
Ich zeuge dadurch einen hash von hashes und muss nun nur noch den hash rekursiv ausgeben, hier dürfte sort mit callback funktionieren.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische