NET :: CIDR :: LOEKEN

Een PERL-klasse die een opzoektabel indexeert met IPv4-netwerken of hosts
Download nu

NET :: CIDR :: LOEKEN Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Matthias Bethke
  • Uitgever website:
  • http://search.cpan.org/~mbethke/

NET :: CIDR :: LOEKEN Tags


NET :: CIDR :: LOEKEN Beschrijving

Een PERL-klasse die een opzoektabel is geïndexeerd door IPv4-netwerken of hosts NET :: CIDR :: Lookup is een Perl-klasse die een opzoektabel is geïndexeerd door IPv4-netwerken of hosts. * Adressen worden geaccepteerd in numerieke vorm (geheel getal met afzonderlijk netbits-argument), omdat snaren in CIDR-notatie of als IP-adresbereiken * overlappende of aangrenzende netwerken automatisch worden samengevoegd als hun bijbehorende waarden gelijk zijn. * De tabel wordt geïmplementeerd als een binaire boom, dus opzoeken en invoegen nemen o (log n) Time.Thods retourneert over het algemeen een echte waarde op succes en undef op fout. In het laatste geval is er een foutmelding beschikbaar in $ NET :: CIDR :: LOEKING :: erstrynopsis Gebruik NET :: CIDR :: LOCKUP; $ CIDR = NET :: CIDR :: ZOEK-> NIEUW; $ CIDR-> Toevoegen ("192.168.42.0/24", 1); # Voeg eerste netwerk toe, waarde 1 $ cidr-> add_num (167772448,27,2); # 10.0.1.32/27 => 2 $ CIDR-> Toevoegen ("192.168.43.0/24", 1); # Automatisch coalescing naar A / 23 $ CIDR-> Toevoegen ("192.168.41.0/24", 2); # Blijft gescheiden vanwege verschillende waarde $ CIDR-> Toevoegen ("192.168.42.128/25", 2); # Fout: overlapt met verschillende waarde $ h = $ cidr-> dump; # Converteer boom naar een hash print "$ k => $ v \ n" terwijl (($ k, $ v) = elke% $ H); # Uitgang (bestelling kan variëren): # 192.168.42.0/23 => 1 # 10.0.1.32/27 => 2 # 192.168.41.0/24 => 2 $ CIDR-> Walk (sub {My ($ addr, $ bits , $ val) = @_; print join ('.', Pak 'C *', Pack 'N', $ Addr), "/ $ BITS => $ VAL \ N"}); # Uitvoer (vaste volgorde): # 10.0.1.32/27 => 2 # 192.168.41.0/24 => 2 # 192.168.42.0/23 => 1 $ CIDR-> helder; # Verwijder alle vermeldingen $ CIDR-> ADD_RANGE ('1.2.3.11 - 1.2.4.234', 42); # Voeg een reeks adressen toe, opgesplitst in CIDR-blokken $ H = $ CIDR-> Dump; Print "$ k => $ v \ n" terwijl (($ k, $ v) = elke% $ H); # Uitgang (bestelling kan variëren): # 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 Vereisten: · Perl


NET :: CIDR :: LOEKEN Gerelateerde software

fp

Een bibliotheek voor het programmeren in een functionele stijl ...

190

Downloaden