|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : yurik shestakov 2:5020/400 08 Oct 2001 15:57:07 To : Stephen V Avdeyev Subject : Re: вхождение адреса в сеть. -------------------------------------------------------------------------------- Stephen V Avdeyev <Stephen.V.Avdeyev@f44.n5090.z2.fidonet.org> wrote: SVA> чё-т я запарился искать... SVA> где-то было такое, но не помню где - есть ip-адрес компьютера, есть SVA> ip-адрес сети. надо узнать, входит ли этот комп в эту сеть. типа того: SVA> isinnetwork("192.168.1.1","192.168.3.0/24") == false SVA> isinnetwork("217.106.131.6","217.106.131.2/29") == true SVA> может какой модуль это реализует? Писать модуль для одной функции? sub isinnetwork($$) { my ($an_ip, $a_net) = @_; my ($n_addr, $sfx) = split /\//, $a_net; my $mask = 0xFFFFFFFF ^ ((1 << (32 - $sfx)) -1); my $p_ip = unpack('N',pack('C4', split /\./,$an_ip)); my $p_net = unpack('N',pack('C4', split /\./,$n_addr)); return ($p_ip & $mask) == ($p_net & $mask); } -- // yurik shestakov --- ifmail v.2.15dev5 * Origin: Unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/91380731639f.html, оценка из 5, голосов 10
|