Привет Alain.
Sag mal, ist das deine Lebensaufgabe, antiquierte Scripte zum fehlerfreien Laufen zu bringen? ;-)
Ich weiss auch nicht genau wo oder auf was $a oder $b sich bezieht
Wie Vinzenz schrieb, auf die zwei nebeneinander liegenden Werte, $a ist dabei der aktuelle, $b der folgende Wert (siehe Perldoc: sort).
Dort wird ein Hash %shipping nach seinen Schlüsseln aufsteigend sortiert und das Ergebnis in den Array @prices geschrieben:
@prices = sort number keys %shipping;
number ist dabei die Referenz auf eine Sortierfunktion, man könnte auch gleich schreiben:
@prices = sort {$a <=> $b} keys %shipping;
Und da ist der Übeltäter, nämlich dieser ominöse Hash (siehe auch perldata):
%shipping = ("",'0.00','1','5.00','3','10.00','5','15.00','7','20.00','10','30.00');
Du siehst, alles Strings, ergo muss bei Verwendung von '<=>' ein Fehler kommen. Warum der Shop trotzdem funktioniert, musst du jetzt aber selber recherchieren :)
Дружба!
Siechfred
Hinweis an alle Karnevalsmuffel: Aschermittwoch ist alles vorbei.