Edit:
Obwohl ein normaler Hash eine einheitliche Ordnung hat, im Falle eines tied hash die Reihenfolge der Tasten ist nicht gut definiert, da es benutzergesteuert ist!
Obwohl sich die Reihenfolge der Hash-Schlüssel nicht ändert, sollten Sie sich überdenken, warum Sie dies tun müssen.
Vielleicht können Sie den Hash in einem Durchgang statt zwei verarbeiten?
Sie sollten die Hash-Schlüssel in einem Array als eine defensive Programmierungspraxis speichern, es sei denn, die Größe der Daten ist groß genug, dass ein Duplizieren wäre ein Problem. Als Bonus können Sie die Liste sogar leicht sortieren und im Hash in einer genau definierten Reihenfolge verarbeiten. Z. B.
my @keys = sort keys %myHash;
Dies vermeidet Probleme mit dem Hash ändern, da Ihr Array Auftrag wird nie, wenn Sie es wollen ändern.
Wenn Sie dies nicht tun, müssen Sie sehr vorsichtig sein, nichts zu tun, das den Hash ändert, sonst ändert sich die Reihenfolge der Elemente. Schauen Sie in das Modul Readonly, um sicherzustellen, dass dieser Hash nie geändert wird.
Nur aus Neugier - für was brauchen Sie diese Eigenschaft? – hillu
Wer wählt alles und alles ab? – erjiang