Net :: CIDR :: Pesquisa

Uma classe Perl que implementa uma tabela de pesquisa indexada por redes IPv4 ou hosts
Baixe Agora

Net :: CIDR :: Pesquisa Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Matthias Bethke
  • Site do editor:
  • http://search.cpan.org/~mbethke/

Net :: CIDR :: Pesquisa Tag


Net :: CIDR :: Pesquisa Descrição

Uma classe Perl que implementa uma tabela de pesquisa indexada por redes IPv4 ou hosts NET :: CIDR :: Lookup é uma classe Perl que implementa uma tabela de pesquisa indexada por redes IPv4 ou hosts. * Os endereços são aceitos em forma numérica (inteiro com argumento separado da Netbits), pois seqüências de notação CIDR ou como endereço IP variam * As redes sobrepostas ou adjacentes são automaticamente coalescidas se seus valores associados forem iguais. * A tabela é implementada como uma árvore binária, de modo que a pesquisa e a inserção leve o (log n) time.methods geralmente retornam um verdadeiro valor no sucesso e no UNDEF. No último caso, uma mensagem de erro estará disponível em $ Net :: CIDR :: Pesquisa :: OrrStrynopsis Use Net :: CIDR :: Pesquisa; $ CIDR = Net :: CIDR :: Lookup-> Novo; $ CIDR-> Adicionar ("192.168.42.0/24", 1); # Adicionar primeira rede, valor 1 $ CIDR-> add_num (167772448,27,2); # 10.0.1.32/27 => 2 $ CIDR-> Adicionar ("192.168.43.0/24", 1); # Automático Coalescing para A / 23 $ CIDR-> Adicionar ("192.168.41.0/24", 2); # Permanece separado devido a um valor diferente $ CIDR-> adicionar ("192.168.42.128/25", 2); # Erro: sobreposições com valor diferente $ h = $ cidr-> despejo; # Converter árvore para um hash Imprimir "$ k => $ v \ n" enquanto (($ k, $ v) = cada% $ h); # Saída (ordem pode variar): # 192.168.42.0/23 => 1 # 10.0.1.32/27 => 2 # 192.168.41.0/24 => 2 $ CIDR-> Caminhada (sub {my ($ addr, $ bits , $ Val) = @_; imprimir junção ('.', descompactar 'c *', pacote 'n', $ addr), "/ $ bits => $ val \ n"}); # Saída (ordem fixa): # 10.0.1.32/27 => 2 # 192.168.41.0/24 => 2 # 192.168.42.0/23 => 1 $ CIDR-> claro; # Remove todas as entradas $ CIDR-> add_range ('1.2.3.11 - 1.2.4.234', 42); # Adicione uma gama de endereços, dividida automaticamente em blocos CIDR $ h = $ CIDR-> Dump; Imprimir "$ k => $ v \ n" enquanto (($ K, $ v) = cada% $ h); # Saída (ordem pode variar): # 1.2.4.128/26 => 42 # 1.2.3.32/27 => 42 # 1.2.3.64/26 => 42 # 1.2.4.234/32 => 42 # 1.2.4.0/25 => 42 # 1.2.3.12/30 => 42 # 1.2.3.128/25 => 42 # 1.2.3.16/28 => 42 # 1.2.4.224/29 => 42 # 1.2.4.232/31 => 42 # 1.2 .3.11 / 32 => 42 # 1.2.4.192/27 => 42 Requisitos: · Perl.


Net :: CIDR :: Pesquisa Software Relacionado