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, |
In reply to Re^3: sorting hash of hashes
by Athanasius
in thread sorting hash of hashes
by dilip.renkila
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |