Hallo zusammen!
In http://selfhtml.teamone.de/cgiperl/funktionen/listenhashes.htm#sort stellt Stefan die praktische Funktion NummernSort zur Verfügung, die ich mir leider nicht erklären kann (bin noch Anfänger, ein paar kleine Scripts habe ich aber schon geschrieben).
Hier die Funktion:
sub NummernSort {
if($a < $b)
{ return -1; }
elsif($a == $b)
{ return 0; }
else
{ return 1; }
}
Aufgerufen wird sie mit
my @SortierteListe = sort(NummernSort @HighscoreListe);
Was ich daran nicht verstehe:
1. Wo kommen die Variablen $a und $b her? Es sind keine vordefinierten Variablen wie $_ etc. Obwohl strict benutzt wird, werden Sie nicht mit my eingeleitet, und trotzdem meckert der Interpreter nicht. Warum nicht?
2. Was steckt überhaupt hinter diesen Variablen? Wird dabei von sort jedem Wert einmal jeder andere Wert zugeordnet?
3. Was stellt sort mit den Rückgabewerten an? Ich weiß zwar, was sie bewirken, habe aber keine Ahnung, wie und warum es funktioniert.
Ich wäre jedem sehr dankbar, der mich diesbezüglich etwas erhellen könnte. Ich weiß, RTFM, aber TFM ist für einen Anfänger sehr, sehr umfangreich. Wenn aber jemand einen (bzw. ein paar) Link(s) auf Selfhtml hätte, wodurch ich auf die Lösung gestoßen werde, freue ich mich auch!
Schöne Grüße, Pascal