[Columbia-pm] sorting

Doug Leffert furtiveone at gmail.com
Sun Nov 19 14:46:56 PST 2006


On 11/16/06, Gunz, Alexander J. <gunza at missouri.edu> wrote:
...

> How do you make it sort them like this:
>
> 1
> 2
> 3
> 10
> 21
> 135,152
> 20,000,000

...

> Can someone make my life easier?

>From 'perldoc -f sort':

"If SUBNAME or BLOCK is omitted, "sort"s in standard string comparison order."

So, use 'sort {$a <=> $b} @YOUR_ARRAY;

See the following debugger session for an example using your data
(DB<5> is where your expected sort occurs).

$ perl -de 42

Loading DB routines from perl5db.pl version 1.28
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   42

DB<1> @n = (1,10,135_152,2,20_000_000,21,3);


DB<2> x @n
0  1
1  10
2  135152
3  2
4  20000000
5  21
6  3

DB<3> @sorted = sort @n;


DB<4> x @sorted;
0  1
1  10
2  135152
3  2
4  20000000
5  21
6  3

DB<5> @x = sort {$a <=> $b} @n;


DB<6> x @x
0  1
1  2
2  3
3  10
4  21
5  135152
6  20000000


Best,

/doug


More information about the Columbia-pm mailing list