-1
두 개의 목록이 있습니다. 네트워크가있는 목록 (예 : 10.0.0.0/8 등)과 서브넷이있는 두 번째 목록 (예 : 10.10.1.0/24 또는/27/28 등). 첫 번째 '컨테이너'네트워크에 맞는 서브넷을 알아 내고 싶습니다 (perl 사용).네트워크 목록에 다른 네트워크가 있습니까?
아이디어가 있으십니까?
두 개의 목록이 있습니다. 네트워크가있는 목록 (예 : 10.0.0.0/8 등)과 서브넷이있는 두 번째 목록 (예 : 10.10.1.0/24 또는/27/28 등). 첫 번째 '컨테이너'네트워크에 맞는 서브넷을 알아 내고 싶습니다 (perl 사용).네트워크 목록에 다른 네트워크가 있습니까?
아이디어가 있으십니까?
Net::CIDR::Compare 패키지가 CPAN에 있습니다. 예제 코드에서 :
use Net::CIDR::Compare;
my $collection = Net::CIDR::Compare->new(print_errors => 1);
my $first_list = $collection->new_list();
$collection->add_range($first_list, "10.10.0.0/16", 1);
my $second_list = $collection->new_list();
$collection->add_range($second_list, "10.10.200.0/24", 1);
$collection->process_intersection(expand_cidr => 8);
while (my $cidr_range = $collection->get_next_intersection_range()) {
print "$cidr_range\n"; # prints 10.10.200.0/24
}
확인 NetAddr::IP
use NetAddr::IP;
my $range1 = NetAddr::IP->new("10.0.0.0/8");
my $range2 = NetAddr::IP->new("10.10.1.0/24");
print "range1 contains range2\n" if $range1->contains($range2);
는 파일이 두 목록이 있습니까? 파일의 처음 몇 줄을 게시 할 수 있습니까? – salparadise