J'essaye d'écrire un script Perl qui vérifie si le nom du périphérique existe dans le DNS et s'il ne le fait pas, il imprime le nom du périphérique. À l'heure actuelle, voici comment je fais ça:Nom du périphérique DNS Test
my $host_result = `host $device`;
my @host_result = split(/ /, $host_result);
my $dns = $host_result[0];
# host normally puts out something like this if there is an error:
# Host blah not found: 3(NXDOMAIN)
# So I check to see if the first word is 'Host'
if ($dns eq "Host") {
print $device;
}
Comme vous pouvez le voir, j'utiliser la commande host
du système pour le faire. Plus précisément, je vérifie pour voir si host
peut trouver le nom de l'appareil ou non. Je sais que ce n'est pas le but de host
et je ne veux pas utiliser les appels système sauf si je dois vraiment, alors j'espérais que quelqu'un pourrait me diriger vers un module Perl qui me permet de vérifier ces périphériques noms contre DNS. Je devine Net::DNS, mais ce qui est spécifiquement à l'intérieur Net :: DNS devrais-je utiliser pour accomplir ceci?
J'ai fait des recherches, mais j'ai du mal à trouver quelque chose parce que je ne sais pas quoi chercher (est-ce une requête DNS ou une résolution DNS?), Parce que je ne connais que le DNS et la terminologie qui s'y rapporte.
En outre, je passe beaucoup de noms de périphériques, donc tous les conseils sur la façon d'accélérer le contrôle sont les bienvenus!
Parfait! Je l'avais déjà utilisé et ça ne fonctionnait pas. Cependant, votre utilisation de 'say' m'a fait réaliser que je devrais probablement' chomp' mes cordes avant de les vérifier et maintenant ça marche! –
Si vous l'avez toujours, pourriez-vous poster votre code de benchmarking? –
@AustinMoore Voir ma dernière modification. – ThisSuitIsBlackNot