in reply to Re: Sorting ip addresses quickly
in thread Sorting ip addresses quickly

print sort map { s/(\d+)/$1/eg ; $_ } <DATA>; __DATA__ 192.168.7.10 192.168.1.2 192.168.6.10 10.10.254.253

Replies are listed 'Best First'.
Re^3: Sorting ip addresses quickly
by salva (Canon) on Nov 24, 2010 at 15:19 UTC
    obviously that doesn't work:
    print sort map { s/(\d+)/$1/eg ; $_ } <DATA>; __DATA__ 192.168.6.10 10.10.254.253 10.10.254.3
      To make it work you'd need to use something like
      print map { $$_[0] } sort { $$a[1] <=> $$b[1] } map { [ $_, join '', map { sprintf '%03d', $_ } /(\d+)/g ] } <DATA>; __DATA__ 192.168.6.10 10.10.254.253 10.10.254.3
      update: oh look, thats what the root post is about, lol