Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Sorting Outline Numbers

by jimbojones (Friar)
on Aug 10, 2005 at 18:34 UTC ( #482707=note: print w/ replies, xml ) Need Help??


in reply to Sorting Outline Numbers

Hi

You have to roll your own sort routine. The example below splits each number on the "." and compares them section-by-section. Something like

sub sect { my @a = split /\./, $a; my @b = split /\./, $b; my $len = @b; if ( @a > @b ) { $len = @a; } foreach my $i ( 0 .. $len-1 ) { if ( $a[$i] > $b[$i] ) { return 1; } elsif ( $a[$i] < $b[$i]) { return -1; } } return 0; } my @s = ( "1.0", "3", "2.0.1", "4.1.1.1", "1.0.1", "1.1", "1.0.2", "2. +0" ); my @t = sort sect @s; print "@t\n"; __DATA__ 1.0 1.0.1 1.0.2 1.1 2.0 2.0.1 3 4.1.1.1
there are probably more efficient ways to do this.

- j


Comment on Re: Sorting Outline Numbers
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://482707]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2014-07-12 09:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (239 votes), past polls