http://www.perlmonks.org?node_id=1000084


in reply to Wildcard usage for REMOTE_ADDR comparison

The easy answer is to use a regular expression like m/^180\.76\.6\./,
but the correct answer for production work is to use a module like NetAddr::IP to match tie IP/subnet (call the "contains" method, after first creating a subnet object).

One reason why is for the case where you are presented with an address text like "180.076.006.001", or an invalid address like "180.176.6.300"

             "By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and third by experience, which is the bitterest."           -Confucius