Not much annoys me about perl but this is one. Why oh why do hashes stop sorting at key 9?
4 => 'd',
2 => 'b',
3 => 'c'
};
my $hash2 = { 1 => 'a',
4 => 'd',
2 => 'b',
3 => 'c',
5 => 'e',
7 => 'g',
6 => 'f',
8 => 'h',
9 => 'i'
};
my $hash3 = { 1 => 'a',
4 => 'd',
2 => 'b',
3 => 'c',
5 => 'e',
7 => 'g',
6 => 'f',
8 => 'h',
9 => 'i',
11 => 'k',
10 => 'j'
};
print "Content-type: text/html\n\n";
print join ' - ', %$hash1;
print "<br>";
print join ' - ', %$hash2;
print "<br>";
print join ' - ', %$hash3;
The output:
1 - a - 2 - b - 3 - c - 4 - d - 5 - e - 6 - f - 7 - g - 8 - h - 9 - i
1 - a - 2 - b - 3 - c - 10 - j - 4 - d - 11 - k - 5 - e - 6 - f - 7 - g - 8 - h - 9 - i
Code:
my $hash1 = { 1 => 'a', 4 => 'd',
2 => 'b',
3 => 'c'
};
my $hash2 = { 1 => 'a',
4 => 'd',
2 => 'b',
3 => 'c',
5 => 'e',
7 => 'g',
6 => 'f',
8 => 'h',
9 => 'i'
};
my $hash3 = { 1 => 'a',
4 => 'd',
2 => 'b',
3 => 'c',
5 => 'e',
7 => 'g',
6 => 'f',
8 => 'h',
9 => 'i',
11 => 'k',
10 => 'j'
};
print "Content-type: text/html\n\n";
print join ' - ', %$hash1;
print "<br>";
print join ' - ', %$hash2;
print "<br>";
print join ' - ', %$hash3;
The output:
Code:
1 - a - 2 - b - 3 - c - 4 - d 1 - a - 2 - b - 3 - c - 4 - d - 5 - e - 6 - f - 7 - g - 8 - h - 9 - i
1 - a - 2 - b - 3 - c - 10 - j - 4 - d - 11 - k - 5 - e - 6 - f - 7 - g - 8 - h - 9 - i