wenn du das alles in einem @array hast, wo eine zeile einem arrayelement entspricht, koenntest du es folgendermaszen machen:
my @arraySorted =
map { # nur die dritte spalte zurueckgeben, da die sortierkritierien
$_->[3] # nicht mehr gebraucht werden
}
sort {
$a->[0] <=> $b->[0] or # wenn vergleich punkte 0 ist, vergleiche siege
$a->[1] <=> $b->[1] or # wenn vergleich siege 0 ist, vergleiche tordifferenz
$a->[2] <=> $b->[2]
}
map { # $_ ist eine Zeile, die aufgesplittet wird
my ($siege, $punkte, $tordifferenz) = (split(/;/, $_))[3,6,9];
( [$punkte, $siege, $tordifferenz, $_] ) # und als listenreferenz an sort gegeben wird
}
@array
der gewaehlte Weg ist die Schwartzian Transform; eine genauere Erklaerung findest du auf meiner HP unter Tips&Tricks -> Sortierungen\n\n
<!--EDIT|Strat|1071417445-->