{
    "mode": "perldoc",
    "parameter": "Net::DNS::RR::SOA",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/Net%3A%3ADNS%3A%3ARR%3A%3ASOA/json",
    "generated": "2026-06-14T13:45:50Z",
    "synopsis": "use Net::DNS;\n$rr = Net::DNS::RR->new('name SOA mname rname 0 14400 3600 1814400 3600');",
    "sections": {
        "NAME": {
            "content": "Net::DNS::RR::SOA - DNS SOA resource record\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "use Net::DNS;\n$rr = Net::DNS::RR->new('name SOA mname rname 0 14400 3600 1814400 3600');\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "Class for DNS Start of Authority (SOA) resource records.\n",
            "subsections": []
        },
        "METHODS": {
            "content": "The available methods are those inherited from the base class augmented by the type-specific\nmethods defined in this package.\n\nUse of undocumented package features or direct access to internal data structures is discouraged\nand could result in program termination or other unpredictable behaviour.\n\nmname\n$mname = $rr->mname;\n$rr->mname( $mname );\n\nThe domain name of the name server that was the original or primary source of data for this\nzone.\n\nrname\n$rname = $rr->rname;\n$rr->rname( $rname );\n\nThe mailbox which identifies the person responsible for maintaining this zone.\n\nserial\n$serial = $rr->serial;\n$serial = $rr->serial(value);\n\nUnsigned 32 bit version number of the original copy of the zone. Zone transfers preserve this\nvalue.\n\nRFC1982 defines a strict (irreflexive) partial ordering for zone serial numbers. The serial\nnumber will be incremented unless the replacement value argument satisfies the ordering\nconstraint.\n\nrefresh\n$refresh = $rr->refresh;\n$rr->refresh( $refresh );\n\nA 32 bit time interval before the zone should be refreshed.\n\nretry\n$retry = $rr->retry;\n$rr->retry( $retry );\n\nA 32 bit time interval that should elapse before a failed refresh should be retried.\n\nexpire\n$expire = $rr->expire;\n$rr->expire( $expire );\n\nA 32 bit time value that specifies the upper limit on the time interval that can elapse before\nthe zone is no longer authoritative.\n\nminimum\n$minimum = $rr->minimum;\n$rr->minimum( $minimum );\n\nThe unsigned 32 bit minimum TTL field that should be exported with any RR from this zone.\n",
            "subsections": []
        },
        "Zone Serial Number Management": {
            "content": "The internal logic of the serial() method offers support for several widely used zone serial\nnumbering policies.\n",
            "subsections": [
                {
                    "name": "Strictly Sequential",
                    "content": "$successor = $soa->serial( SEQUENTIAL );\n\nThe existing serial number is incremented modulo 232 because the value returned by the\nauxilliary SEQUENTIAL() function can never satisfy the serial number ordering constraint.\n"
                },
                {
                    "name": "Date Encoded",
                    "content": "$successor = $soa->serial( YYYYMMDDxx );\n\nThe 32 bit value returned by the auxilliary YYYYMMDDxx() function will be used if it satisfies\nthe ordering constraint, otherwise the serial number will be incremented as above.\n\nSerial number increments must be limited to 100 per day for the date information to remain\nuseful.\n"
                },
                {
                    "name": "Time Encoded",
                    "content": "$successor = $soa->serial( UNIXTIME );\n\nThe 32 bit value returned by the auxilliary UNIXTIME() function will used if it satisfies the\nordering constraint, otherwise the existing serial number will be incremented as above.\n"
                }
            ]
        },
        "COPYRIGHT": {
            "content": "Copyright (c)1997 Michael Fuhr.\n\nPortions Copyright (c)2003 Chris Reinhardt.\n\nPortions Copyright (c)2010,2012 Dick Franks.\n\nAll rights reserved.\n\nPackage template (c)2009,2012 O.M.Kolkman and R.W.Franks.\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": "perl, Net::DNS, Net::DNS::RR, RFC1035 Section 3.3.13, RFC1982\n",
            "subsections": []
        }
    },
    "summary": "Net::DNS::RR::SOA - DNS SOA resource record",
    "flags": [],
    "examples": [],
    "see_also": []
}