in reply to Re^2: sorting hash of hashes
in thread sorting hash of hashes

Is this sort works also for characters?

Yes, by default, sort sorts alphabetically. Consider:

12:36 >perl -Mstrict -wE "my @array = ('c', 'bb', 'aaa'); say for sort + @array;" aaa bb c 12:37 >

Here sort puts 'aaa' first, because 'a', its first character, comes alphabetically before 'b' and 'c'. Similarly:

12:37 >perl -Mstrict -wE "my @array = ('3', '22', '111'); say for sort + @array;" 111 22 3 12:39 >

puts '111' first because '1' comes alphabetically before '2' and '3'.

Note that sort @array is shorthand for sort { $a cmp $b } @array; cmp compares alphabetically. To sort numerically, use <=> instead of cmp:

12:39 >perl -Mstrict -wE "my @array = ('3', '22', '111'); say for sort + { $a <=> $b } @array;" 3 22 111 12:43 >

See:

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,