#!/usr/bin/perl
use strict;
use warnings;
my %hash;
foreach (1 .. 10) {
$hash{$_} = $_;
}
foreach (sort(keys %hash)) {
print $_ . ": " . "$hash{$_}" . "\n" ;
}
Wenn ich den obigen Code auszuführen, ist das Ergebnis wie folgt:Warum legt Perls "Sortieren" diese Hash-Schlüssel nicht in numerischer Reihenfolge?
1: 1 10: 10 2: 2 3: 3 4: 4 5: 5 6: 6 7: 7 8: 8 9: 9
erwarte ich „10: 10“, der letzte zu sein, die gedruckt wird. Ich brauche nur jemanden, der erklärt, warum Perl mich in diesem Fall überrascht.
Ein Hash mit den Schlüsseln 1..10 wird als Array bezeichnet. – jrockway