sub DottedQuadToLong { my $ip_str = shift; return 0 unless $ip_str =~ /^\s*(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\s*$/; my $ip = 0; foreach my $quad ($1,$2,$3,$4){ return 0 if ($quad > 255); $ip = $ip * 256 + $quad; } return $ip; }