my @ips = ; $_ = sprintf("%03d.%03d.%03d.%03d", split /\./) for (@ips); @ips = sort @ips; $_ = sprintf("%d.%d.%d.%d", split /\./) for (@ips); print join "\n", @ips; __DATA__ 127.0.0.1 10.129.30.5 10.129.30.2 255.255.255.255 10.109.30.5 142.222.130.23 10.109.1.1 142.222.87.30