Als Vorstufe zu der Lösung von Coax, kann man erstmal auch die Zugriffslogik in den sort-Kode packen:
my @sorted_scores = sort { $scores{$b}->{Goodness} <=> $scores{$a}->{Goodness} } keys %scores;
Die Schwartzsche Transformation ist dann eine Optimierung in dem Sinne, dass die (ggf. langwierigere) Berechnung des Wertes, der für die Sortierung wichtig ist, herausgezogen wird um eine Mehrfachberechnung desselben zu vermeiden.
I sense a soul in search of answers.