my $V_IP = new Net::IP('81.0.0.0 - 84.23.45.67') or die( Net::IP::Error() ); my $G_IP = new Net::IP('80.60.80.120 - 85.34.45.56') or die( Net::IP::Error() ); my $V_Match = $G_IP->overlaps($V_IP); if (not defined($V_Match)) { print "Problem with IP range\n"; } elsif ( $V_Match == $IP_IDENTICAL ) { print $G_IP->print(), ' is identical with the range ', $V_IP->print(), "\n"; } elsif ( $V_Match == $IP_A_IN_B_OVERLAP ) { print $V_IP->print(), ' contains the range ', $G_IP->print(), "\n"; } elsif ( $V_Match == $IP_B_IN_A_OVERLAP ) { print $G_IP->print(), ' contains the range ', $V_IP->print(), "\n"; } elsif ( $V_Match == $IP_PARTIAL_OVERLAP ) { print $G_IP->print(), ' partially overlaps with the range ', $V_IP->print(), "\n"; } elsif ( $V_Match == $IP_NO_OVERLAP ) { print $V_IP->print(), ' doesnot overlap with ', $G_IP->print(), "\n"; }