{
    "content": [
        {
            "type": "text",
            "text": "# errno(3) (man)\n\n## TLDR\n\n> Look up errno names and descriptions.\n\n- Lookup errno description by name or code:\n  `errno {{name|code}}`\n- List all errno names, codes, and descriptions:\n  `errno {{-l|--list}}`\n- Search for code whose description contains all of the given text:\n  `errno {{-s|--search}} {{text}}`\n- Search for code whose description contains all of the given text (all locales):\n  `errno {{-S|--search-all-locales}} {{text}}`\n\n*Source: tldr-pages*\n\n---\n\n**Summary:** Errno - System errno constants\n\n**Synopsis:** use Errno qw(EINTR EIO :POSIX);\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (2 lines)\n- **DESCRIPTION** (26 lines)\n- **CAVEATS** (8 lines)\n- **AUTHOR** (2 lines)\n- **COPYRIGHT** (6 lines)\n\n## Full Content\n\n### NAME\n\nErrno - System errno constants\n\n### SYNOPSIS\n\nuse Errno qw(EINTR EIO :POSIX);\n\n### DESCRIPTION\n\n\"Errno\" defines and conditionally exports all the error constants defined in your system\nerrno.h include file. It has a single export tag, \":POSIX\", which will export all POSIX\ndefined error numbers.\n\nOn Windows, \"Errno\" also defines and conditionally exports all the Winsock error constants\ndefined in your system WinError.h include file. These are included in a second export tag,\n\":WINSOCK\".\n\n\"Errno\" also makes \"%!\" magic such that each element of \"%!\" has a non-zero value only if $!\nis set to that value. For example:\n\nmy $fh;\nunless (open($fh, \"<\", \"/fangorn/spouse\")) {\nif ($!{ENOENT}) {\nwarn \"Get a wife!\\n\";\n} else {\nwarn \"This path is barred: $!\";\n}\n}\n\nIf a specified constant \"EFOO\" does not exist on the system, $!{EFOO} returns \"\".  You may\nuse \"exists $!{EFOO}\" to check whether the constant is available on the system.\n\nPerl automatically loads \"Errno\" the first time you use \"%!\", so you don't need an explicit\n\"use\".\n\n### CAVEATS\n\nImporting a particular constant may not be very portable, because the import will fail on\nplatforms that do not have that constant.  A more portable way to set $! to a valid value is\nto use:\n\nif (exists &Errno::EFOO) {\n$! = &Errno::EFOO;\n}\n\n### AUTHOR\n\nGraham Barr <gbarr@pobox.com>\n\n### COPYRIGHT\n\nCopyright (c) 1997-8 Graham Barr. All rights reserved.  This program is free software; you\ncan redistribute it and/or modify it under the same terms as Perl itself.\n\n\n\nperl v5.34.0                                 2025-07-25                                 Errno(3perl)\n\n"
        }
    ],
    "structuredContent": {
        "command": "errno",
        "section": "3",
        "mode": "man",
        "summary": "Errno - System errno constants",
        "synopsis": "use Errno qw(EINTR EIO :POSIX);",
        "tldr_summary": "Look up errno names and descriptions.",
        "tldr_examples": [
            {
                "description": "Lookup errno description by name or code",
                "command": "errno {{name|code}}"
            },
            {
                "description": "List all errno names, codes, and descriptions",
                "command": "errno {{-l|--list}}"
            },
            {
                "description": "Search for code whose description contains all of the given text",
                "command": "errno {{-s|--search}} {{text}}"
            },
            {
                "description": "Search for code whose description contains all of the given text (all locales)",
                "command": "errno {{-S|--search-all-locales}} {{text}}"
            }
        ],
        "tldr_source": "official",
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 26,
                "subsections": []
            },
            {
                "name": "CAVEATS",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 6,
                "subsections": []
            }
        ]
    }
}