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

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 [at] REFS = $ref->list( );

print "\n";
print "content of object 'ref':\n";
foreach my $item ( [at] 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
Peter Velan [ Di, 22 Mai 2007 18:25 ] [ ID #1718920 ]
Perl » de.comp.lang.perl.misc » Net::CIDR::Lite - Suchen mit needle = CIDR

Vorheriges Thema: Text::ParseWords - chomp
Nächstes Thema: Handle zum Remote Process - Rückgabewert erhalten