>perl -wMstrict -le "my @unsorted = qw(1-1-2 6-1-2 3-1-4 3-11-4 3-2-4); my @sorted = map { s{ (\d+) }{ sprintf '%ld', $1 }xmsge; $_ } sort map { s{ (\d+) }{ sprintf '%010ld', $1 }xmsge; $_ } @unsorted ; print qq{@sorted}; " 1-1-2 3-1-4 3-2-4 3-11-4 6-1-2