Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
Perl: the Markov chain saw
 
PerlMonks  

Re: Sorting Outline Numbers

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

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://482707]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.