Net::CIDR::Lite - Suchen mit needle = CIDR

Net::CIDR::Lite - Suchen mit needle = CIDR

am 22.05.2007 18:25:22 von Peter Velan

Hallo,

das folgende Skript macht genau das, was ich will:

-----8<-----

#! /usr/bin/perl -w -s

use strict;
use Net::CIDR::Lite;

my $ref = Net::CIDR::Lite->new;
$ref->add_range( '123.123.122.15-123.123.123.71' );
$ref->add( '222.222.1.0/22' );
$ref->prep_find( );

my @REFS = $ref->list( );

print "\n";
print "content of object 'ref':\n";
foreach my $item ( @REFS ) {
print "$item\n";
}
print "\n";

my $testval = '';

$testval = '123.123.122.88';
print "testing $testval: ";
print "match!" if $ref->find( $testval );
print "\n";

$testval = '123.123.122.12';
print "testing $testval: ";
print "$testval matches!" if $ref->find( $testval );
print "\n";

----->8-----

Nun will ich aber als Vergleichswert eine CIDR-Darstellung einspeisen,
also etwas in der Art:

$ref->find_cidr( '123.123.122.128/28' );

Das geht leider bicht :-( Geht das mit diesem 'spanner-object'? Kann mit
dem Begriff 'spanner' nichts anfangen, bzw. verstehe dessen
Funktionalität im Zusammenhang mit Net::CIDR::Lite nicht.

Hintergrund: File gefüllt mit CIDRs; es soll bestimmt werden ob ein
IP-Bereich - gegeben in CIDR-Notation - da reinpassen würde.

Im voraus Dank für hilfreiche Tipps,
Peter