sub in_range { my ($cidr, $ip) = @_; my ($low, $high) = get_boundaries($cidr); my $i_ip = unpack "N", pack "C4", split /\./, $ip; $i_ip > $low && $i_ip < $high; } print "yup\n" if in_range("172.24.43.226/27", "172.24.43.236");