Clearly, the & (bitwise-and operator; did you mean &&, the logical and operator?) won't work. The logical || operator won't perform the second test unless both strings ($a and $b) on the left side of the or are identical, which is not the case for data[1] and data[10]. On the right side, regex are (at least potentially) expensive; you would probably want to avoid their use in the sort; for this see How do I do a complex sort on an array?. For sorting small arrays, using merlyn's Schwartzian Transform won't make a noticeable difference in performance (of course, my definition of "small" would be that using the Schwartzian Transform doesn't make a noticeable difference), but my experience is that anything being sorted is likely to grow past "small" as soon as a program is in the hands of its ultimate users.
It's also possible that you would be better off using a different structure (HoA?) to store your data, but that may be only because I happen to have a morbid fascination with HoA's and HoH's, probably because my programming origins are in a language where the only data structures were arrays of various ranks.
In reply to Re: Sort options
by swampyankee
in thread Sort options
by erez_ez
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |