First of all: A big THANKS to all who responded! The solutions offered by ariels and Juerd seem to come the closest to what I need (BTW: Thanks for pointing out that I need to rethink my requirements!). blakem's solution probably won't work, as I can't make the assumption mentioned by him about the data I get and moodster's solution doesn't seem to work for all cases (though I didn't quite find out why).
In any case, I learned a few more things, which is good... :-)

As for Juerd's code:
That's a Schwartzian Transform, right? (Didn't know it existed until today... :-})
However, there seems to be one problem: I get quite a few of Argument "" isn't numeric in numeric comparison (<=>) ... if any of the strings starts with a number. If I understand your code correctly, the problem lies in the : $A <=> $B part. When the string starts with a number, the split generates a first field that's defined, but empty. After replacing $A =~ /\D/ || $B =~ /\D/ with $A !~ /\d+/ || $B !~ /\d+/ (is there a better way?), it worked.

There's also a second problem, but that's partly due to my apparently incomplete requirements - I wasn't aware of that until I experimented a bit with the solutions offered here. Take the following data set:

Unsorted:x10y 1abc a10y x9y b1 abc DEF 123DEF bigboys big9boys 123DEFG 123def

Using your code or ariels' code, the result is:

Sorted:1abc 123DEF 123def 123DEFG a10y abc b1 big9boys bigboys DEF x9y x10y

Whether "big9boys" should appear before "bigboys" is probably debatable - I'm not 100% sure myself wich way round would be better in my case...
I am, however, wondering about "1abc" coming before "123DEF" (and the other "123..."), though I can't see a way of changing that without breaking the other requirements. I'll have to think about it.

Thanks again,
argathin


In reply to Re: Re: Dictionary-style sort a la Tcl? by argathin
in thread Dictionary-style sort a la Tcl? by argathin

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.