... a standard alpha-numeric sort produces the correct order.
If by "standard alpha-numeric sort" you mean a lexicographic or "asciibetic" sort (the default sort of sort), this is unfortunately not the case:
The digit sub-fields need to be "normalized" in some way, e.g., by being zero-padded for a lexical sort comparison ('01.02.02', '01.02.20'), or by being converted to a standard number for numeric comparison (1.002_002, 1.002_020).c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my @ra = qw(1.2.1 1.2.2 1.2.3 1.2.10 1.2.11 1.2.20 1.2.21); my @sorted = sort @ra; dd \@sorted; " ["1.2.1", "1.2.10", "1.2.11", "1.2.2", "1.2.20", "1.2.21", "1.2.3"]
Sadly, the example data of the OP does not make this problem evident.
Update: I posted this reply before I saw Corion's post, which addresses the same problem and has a number of informative links.
Give a man a fish: <%-{-{-{-<
In reply to Re^2: Advanced Bubble Sort
by AnomalousMonk
in thread Advanced Bubble Sort
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |