{
    "content": [
        {
            "type": "text",
            "text": "# Net::DNS::Resolver::Recurse (perldoc)\n\n## NAME\n\nNet::DNS::Resolver::Recurse - DNS recursive resolver\n\n## SYNOPSIS\n\nuse Net::DNS::Resolver::Recurse;\nmy $resolver = new Net::DNS::Resolver::Recurse();\n$resolver->debug(1);\n$resolver->hints('198.41.0.4');     # A.ROOT-SERVER.NET.\nmy $packet = $resolver->send( 'www.rob.com.au.', 'A' );\n\n## DESCRIPTION\n\nThis module is a subclass of Net::DNS::Resolver.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS**\n- **ACKNOWLEDGEMENT**\n- **COPYRIGHT**\n- **LICENSE**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Net::DNS::Resolver::Recurse",
        "section": "",
        "mode": "perldoc",
        "summary": "Net::DNS::Resolver::Recurse - DNS recursive resolver",
        "synopsis": "use Net::DNS::Resolver::Recurse;\nmy $resolver = new Net::DNS::Resolver::Recurse();\n$resolver->debug(1);\n$resolver->hints('198.41.0.4');     # A.ROOT-SERVER.NET.\nmy $packet = $resolver->send( 'www.rob.com.au.', 'A' );",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 41,
                "subsections": []
            },
            {
                "name": "ACKNOWLEDGEMENT",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 12,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Net::DNS::Resolver::Recurse - DNS recursive resolver\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use Net::DNS::Resolver::Recurse;\n\nmy $resolver = new Net::DNS::Resolver::Recurse();\n$resolver->debug(1);\n\n$resolver->hints('198.41.0.4');     # A.ROOT-SERVER.NET.\n\nmy $packet = $resolver->send( 'www.rob.com.au.', 'A' );\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This module is a subclass of Net::DNS::Resolver.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "This module inherits almost all the methods from Net::DNS::Resolver. Additional module-specific\nmethods are described below.\n\nhints\nThis method specifies a list of the IP addresses of nameservers to be used to discover the\naddresses of the root nameservers.\n\n$resolver->hints(@ip);\n\nIf no hints are passed, the priming query is directed to nameservers drawn from a built-in list\nof IP addresses.\n\nquery, search, send\nThe query(), search() and send() methods produce the same result as their counterparts in\nNet::DNS::Resolver.\n\n$packet = $resolver->send( 'www.example.com.', 'A' );\n\nServer-side recursion is suppressed by clearing the recurse flag in query packets and recursive\nname resolution is performed explicitly.\n\nThe query() and search() methods are inherited from Net::DNS::Resolver and invoke send()\nindirectly.\n\ncallback\nThis method specifies a code reference to a subroutine, which is then invoked at each stage of\nthe recursive lookup.\n\nFor example to emulate dig's \"+trace\" function:\n\nmy $coderef = sub {\nmy $packet = shift;\n\nprintf \";; Received %d bytes from %s\\n\\n\",\n$packet->answersize, $packet->answerfrom;\n};\n\n$resolver->callback($coderef);\n\nThe callback subroutine is not called for queries for missing glue records.\n",
                "subsections": []
            },
            "ACKNOWLEDGEMENT": {
                "content": "This package is an improved and compatible reimplementation of the\nNet::DNS::Resolver::Recurse.pm created by Rob Brown in 2002, whose contribution is gratefully\nacknowledged.\n",
                "subsections": []
            },
            "COPYRIGHT": {
                "content": "Copyright (c)2014,2019 Dick Franks.\n\nPortions Copyright (c)2002 Rob Brown.\n\nAll rights reserved.\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "Permission to use, copy, modify, and distribute this software and its documentation for any\npurpose and without fee is hereby granted, provided that the original copyright notices appear\nin all copies and that both copyright notice and this permission notice appear in supporting\ndocumentation, and that the name of the author not be used in advertising or publicity\npertaining to distribution of the software without specific prior written permission.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\nBUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "Net::DNS::Resolver\n",
                "subsections": []
            }
        }
    }
}