{
    "content": [
        {
            "type": "text",
            "text": "# PerlIO::scalar (perldoc)\n\n## NAME\n\nPerlIO::scalar - in-memory IO, scalar IO\n\n## SYNOPSIS\n\nmy $scalar = '';\n...\nopen my $fh, \"<\",  \\$scalar or die;\nopen my $fh, \">\",  \\$scalar or die;\nopen my $fh, \">>\", \\$scalar or die;\nor\nmy $scalar = '';\n...\nopen my $fh, \"<:scalar\",  \\$scalar or die;\nopen my $fh, \">:scalar\",  \\$scalar or die;\nopen my $fh, \">>:scalar\", \\$scalar or die;\n\n## DESCRIPTION\n\nA filehandle is opened but the file operations are performed \"in-memory\" on a scalar variable.\nAll the normal file operations can be performed on the handle. The scalar is considered a stream\nof bytes. Currently fileno($fh) returns -1.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **IMPLEMENTATION NOTE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "PerlIO::scalar",
        "section": "",
        "mode": "perldoc",
        "summary": "PerlIO::scalar - in-memory IO, scalar IO",
        "synopsis": "my $scalar = '';\n...\nopen my $fh, \"<\",  \\$scalar or die;\nopen my $fh, \">\",  \\$scalar or die;\nopen my $fh, \">>\", \\$scalar or die;\nor\nmy $scalar = '';\n...\nopen my $fh, \"<:scalar\",  \\$scalar or die;\nopen my $fh, \">:scalar\",  \\$scalar or die;\nopen my $fh, \">>:scalar\", \\$scalar or die;",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 14,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "IMPLEMENTATION NOTE",
                "lines": 3,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "PerlIO::scalar - in-memory IO, scalar IO\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "my $scalar = '';\n...\nopen my $fh, \"<\",  \\$scalar or die;\nopen my $fh, \">\",  \\$scalar or die;\nopen my $fh, \">>\", \\$scalar or die;\n\nor\n\nmy $scalar = '';\n...\nopen my $fh, \"<:scalar\",  \\$scalar or die;\nopen my $fh, \">:scalar\",  \\$scalar or die;\nopen my $fh, \">>:scalar\", \\$scalar or die;\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "A filehandle is opened but the file operations are performed \"in-memory\" on a scalar variable.\nAll the normal file operations can be performed on the handle. The scalar is considered a stream\nof bytes. Currently fileno($fh) returns -1.\n\nAttempting to open a read-only scalar for writing will fail, and if warnings are enabled,\nproduce a warning.\n",
                "subsections": []
            },
            "IMPLEMENTATION NOTE": {
                "content": "\"PerlIO::scalar\" only exists to use XSLoader to load C code that provides support for treating a\nscalar as an \"in memory\" file. One does not need to explicitly \"use PerlIO::scalar\".\n",
                "subsections": []
            }
        }
    }
}