Hell-O!
Soweit ich mich dunkel erinnern kann liefert keys %hash keine sortierte Liste.
Ja, du hast Recht, die Reihenfolge der keys entspricht der Reihenfolge der Hasheinträge im Speicher. Abhilfe sollte ein sort() schaffen:
foreach $week (sort(keys %weekcnt))
So oder so ähnlich :-)
Siechfred