@Crian: aber du bist dir darueber im klaren, dass $a und $b (ebenso wie die anderen "eingebauten" Perl-Variablen) nicht von strict ueberprueft werden? Und wenn du sowas in einer sub verwendest, die irgendwann mal von irgendwelchen schraegen typen in einem sort aufgerufen werden, veraenderst du fahrlaessig $a; Warum nicht einfach my $this = $_; verwenden?
das ist aber in deinem coden nicht noetig
print join ',', map { "$_:$hash{$_}" } sort keys %hash;
reicht auch voellig, und bringt den leser nicht auf die Vermutung, dass du absichtlich oder unabsichtlich eine globale Variable oder sogar einen sort beeinflusst