POE::Component::Client::DNS is a wrapper for non-blocking DNS queries based on Net::DNS (libnet-dns-perl). It lets other tasks run while something is waiting for a nameserver response and allows multiple DNS servers to be queried at the same time. DNS client components are spawned as separate sessions rather than being created as proper objects; for full details, see the documentation.