Net::CIDR::Lite - Suchen mit needle = CIDR
am 22.05.2007 18:25:22 von Peter VelanHallo,
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