#!/usr/bin/perl -w use strict; my $octet = q[0?\d\d?|1\d\d?|2[0-4]\d?|25[0-5]|2[6-9]]; # MUST BE CONSTRAINED my $ip = q[(?## my @line; while(<>) { push @line, pack("C5", (@octet = /$rx/ ? 1, @octet : (0) x 5 ) ) . $_; } print map substr($_, 5), sort @line;