В Интернете множество решений данной проблемы, я тоже искал его, но решения мне не нравились своей не производительностью. В языке Perl есть пакет Net::Patricia, который очень эффективно решает данную проблему, метод основан на Patricia Tree.
Установить данный пакет можно через CPAN
perl -MCPAN -e shell
install Net::Patricia
После установки использовать данный пакет можно следующий образом:
Установить данный пакет можно через CPAN
perl -MCPAN -e shell
install Net::Patricia
После установки использовать данный пакет можно следующий образом:
#!/usr/bin/perl -w
use Net::Patricia;
# IP tools
my $pt = new Net::Patricia;
$pt->add_string('212.44.12.0/24');
if(defined($pt->match_string('212.44.12.3'))){
print "IN\n";
}else{
print "OUT\n";
}