Net::IP::Match::Regexp allows you to check an IP address against one or more IP ranges. It employs Perl's highly optimized regular expression engine to do the hard work, so it is very fast. It is optimized for speed by doing the match against a regexp which implicitly checks the broadest IP ranges first. An advantage is that the regexp can be computed and stored in advance (in source code, in a database table, etc) and reused, saving much time if the IP ranges don't change too often. The match can optionally report a value (e.g. a network name) instead of just a boolean, which makes module useful for mapping IP ranges to names or codes or anything else. WWW: http://search.cpan.org/dist/Net-IP-Match-Regexp/