So, if himanh asks his DNS server, he will always believe the domain is with him. Just wanted to throw in this advice.
Sorry, that was an ommission on my part, but is the reason why I used Net::DNS::Resolver::Recurse instead of the usual Net::DNS::Resolver -- the former starts it's recursive query with the DNS hint servers, which should be the same as the DNS root servers (eg, a.root-servers.net) and are one step up from the gTLD server you use.
If they're not (because you're running your own root server or using an alternative one), then you can force N:D:R:R to start from a different nameserver with the hints method.
my @root_ns = map $_ . '.root-servers.net', 'a'..'m';