Hallo. Ich habe da noch einmal eine Frage.
Ich habe folgende Arten von Elementen in einem Array:1,1,3-11-11618000.7892 oder 4,12,23-99-2134500.835
die Elemente in diesem Array möchte ich nun nach der Zahl hinter dem zweiten "-" sortieren, also nach 11618000.7892 und 2134500.835. Ich weiß, dass es dafür die Schwarzsche Transformation gibt, ich glaube das ist die in dem untern code. Ich denke, die Lösung des Problems liegt in der Zeile
{ [ $_, uc( (/\d+\s*(\S+)/)[0]) ] }
, nur weiß ich nicht wie diese entsprechend ändern muss, um so zu sortieren wie ich das möchte.
@sorted = map { $_->[0] }
sort { $a->[1] cmp $b->[1] }
map { [ $_, uc( (/\d+\s*(\S+)/)[0]) ] } @data;
Also, wenn mir da jemand was erklären könnte, wäre das wirklich nett.