2016-09-20 2 views
2

Je suis en train de passer le code complémentaire exemple de la Net :: RBLClient, RBL: -Net :: paramètre RBLClient

use Net::RBLClient; 
my $rbl = Net::RBLClient->new; 
$rbl->lookup('25.23.75.65'); 
my @listed_by = $rbl->listed_by; 

Documentation dit que les paramètres peuvent être passés comme hachage, mais l'un des paramètres puis (qui J'essaie d'utiliser) "listes" dit qu'il faut la référence de tableau. Impossible de comprendre comment cela s'est passé exactement sur ce module.

J'ai une référence de tableau comme

my $rack = ['bl.spamcop.net', 'sbl.spamhaus.org', 'xbl.spamhaus.org']; 

Je ne sais pas comment cette référence inclus dans construction du module.

Documentation: - CPAN

Répondre

0

par les regards de la documentation, la méthode new() accepte un hachage en option comme arguments, donc passer dans la référence de tableau en tant que valeur à la clé lists.

my $rack = ['bl.spamcop.net', 'sbl.spamhaus.org', 'xbl.spamhaus.org']; 

my $rbl = Net::RBLClient->new(lists => $rack); 

# then, after the object is created, carry on 

$rbl->lookup('211.101.236.160'); 
my @listed_by = $rbl->listed_by; 

Vous pouvez également ajouter d'autres paramètres de la même manière si vous avez besoin/voulait sur instanciation d'objet:

my $rbl = Net::RBLClient->new(
    lists => $rack, 
    max_time => 10, 
    timeout => 3, 
); 

... etc. Vous pouvez également déclarer le hachage à l'avant, et passer le tout en:

my %params = (
    lists => [ 
     $blacklist_1, 
     $blacklist_2, 
    ], 
    max_time => 10, 
    timeout => 3, 
); 

my $rbl = Net::RBLClient->new(%params); 
+0

merci, ça a marché, Stevieb – Karthik