send_udp method in Net::DNS::Resolver.pm:
If $sock->send() fails for *all* of the nameservers (e.g. no route to host because the network is down), then errorstring is set to 'query timed out'. Setting it to 'all nameservers failed' would be less misleading.
Even better, $! could be in there somwhere.
$Net::DNS::VERSION == 0.38
Many thanks for this module, we appreciate your efforts.
Steve Keay