in reply to sorting numbered words

Update: A GT form which might be quicker, but makes an assumption about the maximum length of the inputs:

print for map{ unpack 'x255A*', $_ } sort map { ( my $x = $_ ) =~ s[(\d+)]{ pack 'N', $1 }ge; pack 'a255a*', $x, $_; } <DATA>;

Not the fastest implementation, but I think it will handle most contingencies, provided no individual numeric field exceeds 2**32:

#! perl -sw use strict; print for map{ $_->[0] } sort{ $a->[1] cmp $b->[1] } map { [ $_ , do{ ( my $x = $_ ) =~ s[(\d+)]{ pack 'N', $1 }ge; $x } ] } <DATA>; __DATA__ text3 text10 text2 text11 text1 test69.something-14-14 test60.something-14-14 test69.something-1-14 test60.something-1-14 test69.something-14-1 test60.something-14-1

Gives:

c:\test>junk test60.something-1-14 test60.something-14-1 test60.something-14-14 test69.something-1-14 test69.something-14-1 test69.something-14-14 text1 text2 text3 text10 text11

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.