foreach my $ns ( grep {defined} @_ ) {
if ( _ipv4($ns) || _ipv6($ns) ) {
push @ip, $ns;
} else {
my $defres = ref($self)->new( debug => $self->{debug} );
$defres->{persistent} = $self->{persistent};
my $names = {};
my $packet = $defres->send( $ns, 'A' );
####
use Net::DNS::Resolver::Base;
my $orig= \&Net::DNS::Resolver::Base::nameservers;
local *Net::DNS::Resolver::Base::nameservers= sub {
my ($self, @servers)= @_;
print "Current nameservers value: "
.join(", ", @{$self->{nameservers}//[]})
."\n";
print "Assigning nameservers: ".join(", ", @servers)."\n"
if @servers > 1;
$orig->(@_);
};
# and then the rest of your program
####
use Net::DNS::Resolver;
Net::DNS::Resolver->tcp_timeout(1);
Net::DNS::Resolver->udp_timeout(1);
# remainder of your program
####
sub AUTOLOAD { ## Default method
my ($self) = @_;
my $name = $AUTOLOAD;
$name =~ s/.*://;
croak qq[unknown method "$name"] unless $public_attr{$name};
no strict 'refs'; ## no critic ProhibitNoStrict
*{$AUTOLOAD} = sub {
my $self = shift;
$self = $self->_defaults unless ref($self);
$self->{$name} = shift || 0 if scalar @_;
return $self->{$name};
};
goto &{$AUTOLOAD};
}