IMHO, the right way to do this is to convert all the IPs to integers and compare those. Comparing with a RE will work for most common ones, but trying to determine if 144.7.14.2 is betwen 9.0.1.244 and 199.121.5.19 is not well suited for a regular expression.
if((ip2int($iplow)<=ip2int($ip))\
&&(ip2int($ip) <=ip2int($iphigh))){
#...
}
sub ip2int{
my $ip=shift;
my @s=split /\./,$ip
return $s[3]+($s[2]+($s[1]+$s[0]*256)*256)*256;
}