sub cmp_ips { my $ip = normalize(shift); my $lower = normalize(shift); my $upper = normalize(shift); return 1 if $lower le $ip && $ip le $upper; return 0; } sub normalize { return pack 'C*', split /\./, shift; }