{
    "content": [
        {
            "type": "text",
            "text": "# YAML (man)\n\n## NAME\n\nYAML - YAML Ain't Markup Language™\n\n## SYNOPSIS\n\nuse YAML;\n# Load a YAML stream of 3 YAML documents into Perl data structures.\nmy ($hashref, $arrayref, $string) = Load(<<'...');\n---\nname: ingy       # A Mapping\nage: old\nweight: heavy\n# I should comment that I also like pink, but don't tell anybody.\nfavorite colors:\n- red\n- green\n- blue\n---\n- Clark Evans    # A Sequence\n- Oren Ben-Kiki\n- Ingy döt Net\n--- >            # A Block Scalar\nYou probably think YAML stands for \"Yet Another Markup Language\". It\nain't! YAML is really a data serialization language. But if you want\nto think of it as a markup, that's OK with me. A lot of people try\nto use XML as a serialization format.\n\"YAML\" is catchy and fun to say. Try it. \"YAML, YAML, YAML!!!\"\n...\n# Dump the Perl data structures back into YAML.\nprint Dump($string, $arrayref, $hashref);\n# YAML::Dump is used the same way you'd use Data::Dumper::Dumper\nuse Data::Dumper;\nprint Dumper($string, $arrayref, $hashref);\nSince version 1.25 YAML.pm supports trailing comments.\n\n## DESCRIPTION\n\nThe YAML.pm module implements a YAML Loader and Dumper based on the YAML 1.0 specification.\n<http://www.yaml.org/spec/>\n\n## Sections\n\n- **NAME**\n- **VERSION**\n- **NOTE**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **WHY YAML IS COOL**\n- **YAML IMPLEMENTATIONS IN PERL**\n- **FUNCTIONAL USAGE** (2 subsections)\n- **GLOBAL OPTIONS**\n- **YAML TERMINOLOGY**\n- **YSH - THE YAML SHELL** (1 subsections)\n- **RESOURCES**\n- **SEE ALSO**\n- **AUTHOR**\n- **COPYRIGHT AND LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "YAML",
        "section": "",
        "mode": "man",
        "summary": "YAML - YAML Ain't Markup Language™",
        "synopsis": "use YAML;\n# Load a YAML stream of 3 YAML documents into Perl data structures.\nmy ($hashref, $arrayref, $string) = Load(<<'...');\n---\nname: ingy       # A Mapping\nage: old\nweight: heavy\n# I should comment that I also like pink, but don't tell anybody.\nfavorite colors:\n- red\n- green\n- blue\n---\n- Clark Evans    # A Sequence\n- Oren Ben-Kiki\n- Ingy döt Net\n--- >            # A Block Scalar\nYou probably think YAML stands for \"Yet Another Markup Language\". It\nain't! YAML is really a data serialization language. But if you want\nto think of it as a markup, that's OK with me. A lot of people try\nto use XML as a serialization format.\n\"YAML\" is catchy and fun to say. Try it. \"YAML, YAML, YAML!!!\"\n...\n# Dump the Perl data structures back into YAML.\nprint Dump($string, $arrayref, $hashref);\n# YAML::Dump is used the same way you'd use Data::Dumper::Dumper\nuse Data::Dumper;\nprint Dumper($string, $arrayref, $hashref);\nSince version 1.25 YAML.pm supports trailing comments.",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "NOTE",
                "lines": 13,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 35,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "WHY YAML IS COOL",
                "lines": 42,
                "subsections": []
            },
            {
                "name": "YAML IMPLEMENTATIONS IN PERL",
                "lines": 36,
                "subsections": []
            },
            {
                "name": "FUNCTIONAL USAGE",
                "lines": 4,
                "subsections": [
                    {
                        "name": "Exported Functions",
                        "lines": 16
                    },
                    {
                        "name": "Exportable Functions",
                        "lines": 64
                    }
                ]
            },
            {
                "name": "GLOBAL OPTIONS",
                "lines": 157,
                "subsections": []
            },
            {
                "name": "YAML TERMINOLOGY",
                "lines": 156,
                "subsections": []
            },
            {
                "name": "YSH - THE YAML SHELL",
                "lines": 10,
                "subsections": [
                    {
                        "name": "BUGS & DEFICIENCIES",
                        "lines": 12
                    }
                ]
            },
            {
                "name": "RESOURCES",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "COPYRIGHT AND LICENSE",
                "lines": 10,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "YAML - YAML Ain't Markup Language™\n",
                "subsections": []
            },
            "VERSION": {
                "content": "This document describes YAML version 1.30.\n",
                "subsections": []
            },
            "NOTE": {
                "content": "This module has been released to CPAN as YAML::Old, and soon YAML.pm will be changed to just\nbe a frontend interface module for all the various Perl YAML implementation modules,\nincluding YAML::Old.\n\nIf you want robust and fast YAML processing using the normal Dump/Load API, please consider\nswitching to YAML::XS. It is by far the best Perl module for YAML at this time. It requires\nthat you have a C compiler, since it is written in C.\n\nIf you really need to use this version of YAML.pm it will always be available as YAML::Old.\n\nThe rest of this documentation is left unchanged, until YAML.pm is switched over to the new\nUI-only version.\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use YAML;\n\n# Load a YAML stream of 3 YAML documents into Perl data structures.\nmy ($hashref, $arrayref, $string) = Load(<<'...');\n---\nname: ingy       # A Mapping\nage: old\nweight: heavy\n# I should comment that I also like pink, but don't tell anybody.\nfavorite colors:\n- red\n- green\n- blue\n---\n- Clark Evans    # A Sequence\n- Oren Ben-Kiki\n- Ingy döt Net\n--- >            # A Block Scalar\nYou probably think YAML stands for \"Yet Another Markup Language\". It\nain't! YAML is really a data serialization language. But if you want\nto think of it as a markup, that's OK with me. A lot of people try\nto use XML as a serialization format.\n\n\"YAML\" is catchy and fun to say. Try it. \"YAML, YAML, YAML!!!\"\n...\n\n# Dump the Perl data structures back into YAML.\nprint Dump($string, $arrayref, $hashref);\n\n# YAML::Dump is used the same way you'd use Data::Dumper::Dumper\nuse Data::Dumper;\nprint Dumper($string, $arrayref, $hashref);\n\nSince version 1.25 YAML.pm supports trailing comments.\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The YAML.pm module implements a YAML Loader and Dumper based on the YAML 1.0 specification.\n<http://www.yaml.org/spec/>\n\nYAML is a generic data serialization language that is optimized for human readability. It can\nbe used to express the data structures of most modern programming languages. (Including\nPerl!!!)\n\nFor information on the YAML syntax, please refer to the YAML specification.\n",
                "subsections": []
            },
            "WHY YAML IS COOL": {
                "content": "YAML is readable for people.\nIt makes clear sense out of complex data structures. You should find that YAML is an\nexceptional data dumping tool. Structure is shown through indentation, YAML supports\nrecursive data, and hash keys are sorted by default. In addition, YAML supports several\nstyles of scalar formatting for different types of data.\n\nYAML is editable.\nYAML was designed from the ground up to be an excellent syntax for configuration files.\nAlmost all programs need configuration files, so why invent a new syntax for each one?\nAnd why subject users to the complexities of XML or native Perl code?\n\nYAML is multilingual.\nYes, YAML supports Unicode. But I'm actually referring to programming languages. YAML was\ndesigned to meet the serialization needs of Perl, Python, Ruby, Tcl, PHP, Javascript and\nJava. It was also designed to be interoperable between those languages. That means YAML\nserializations produced by Perl can be processed by Python.\n\nYAML is taint safe.\nUsing modules like Data::Dumper for serialization is fine as long as you can be sure that\nnobody can tamper with your data files or transmissions. That's because you need to use\nPerl's \"eval()\" built-in to deserialize the data.  Somebody could add a snippet of Perl\nto erase your files.\n\nYAML's parser does not need to eval anything.\n\nYAML is full featured.\nYAML can accurately serialize all of the common Perl data structures and deserialize them\nagain without losing data relationships. Although it is not 100% perfect (no serializer\nis or can be perfect), it fares as well as the popular current modules: Data::Dumper,\nStorable, XML::Dumper and Data::Denter.\n\nYAML.pm also has the ability to handle code (subroutine) references and typeglobs. (Still\nexperimental) These features are not found in Perl's other serialization modules.\n\nYAML is extensible.\nThe YAML language has been designed to be flexible enough to solve it's own problems. The\nmarkup itself has 3 basic construct which resemble Perl's hash, array and scalar. By\ndefault, these map to their Perl equivalents. But each YAML node also supports a tagging\nmechanism (type system) which can cause that node to be interpreted in a completely\ndifferent manner. That's how YAML can support object serialization and oddball structures\nlike Perl's typeglob.\n",
                "subsections": []
            },
            "YAML IMPLEMENTATIONS IN PERL": {
                "content": "This module, YAML.pm, is really just the interface module for YAML modules written in Perl.\nThe basic interface for YAML consists of two functions: \"Dump\" and \"Load\". The real work is\ndone by the modules YAML::Dumper and YAML::Loader.\n\nDifferent YAML module distributions can be created by subclassing YAML.pm and YAML::Loader\nand YAML::Dumper. For example, YAML-Simple consists of YAML::Simple YAML::Dumper::Simple and\nYAML::Loader::Simple.\n\nWhy would there be more than one implementation of YAML? Well, despite YAML's offering of\nbeing a simple data format, YAML is actually very deep and complex. Implementing the entirety\nof the YAML specification is a daunting task.\n\nFor this reason I am currently working on 3 different YAML implementations.\n\nYAML\nThe main YAML distribution will keeping evolving to support the entire YAML specification\nin pure Perl. This may not be the fastest or most stable module though. Currently,\nYAML.pm has lots of known bugs. It is mostly a great tool for dumping Perl data\nstructures to a readable form.\n\nYAML::Tiny\nThe point of YAML::Tiny is to strip YAML down to the 90% that people use most and offer\nthat in a small, fast, stable, pure Perl form. YAML::Tiny will simply die when it is\nasked to do something it can't.\n\nYAML::Syck\n\"libsyck\" is the C based YAML processing library used by the Ruby programming language\n(and also Python, PHP and Pugs). YAML::Syck is the Perl binding to \"libsyck\". It should\nbe very fast, but may have problems of its own. It will also require C compilation.\n\nNOTE: Audrey Tang has actually completed this module and it works great and is\n10 times faster than YAML.pm.\n\nIn the future, there will likely be even more YAML modules. Remember, people other than Ingy\nare allowed to write YAML modules!\n",
                "subsections": []
            },
            "FUNCTIONAL USAGE": {
                "content": "YAML is completely OO under the hood. Still it exports a few useful top level functions so\nthat it is dead simple to use. These functions just do the OO stuff for you. If you want\ndirect access to the OO API see the documentation for YAML::Dumper and YAML::Loader.\n",
                "subsections": [
                    {
                        "name": "Exported Functions",
                        "content": "The following functions are exported by YAML.pm by default. The reason they are exported is\nso that YAML works much like Data::Dumper. If you don't want functions to be imported, just\nuse YAML with an empty import list:\n\nuse YAML ();\n\nDump(list-of-Perl-data-structures)\nTurn Perl data into YAML. This function works very much like Data::Dumper::Dumper(). It\ntakes a list of Perl data structures and dumps them into a serialized form. It returns a\nstring containing the YAML stream. The structures can be references or plain scalars.\n\nLoad(string-containing-a-YAML-stream)\nTurn YAML into Perl data. This is the opposite of Dump. Just like Storable's thaw()\nfunction or the eval() function in relation to Data::Dumper. It parses a string\ncontaining a valid YAML stream into a list of Perl data structures.\n"
                    },
                    {
                        "name": "Exportable Functions",
                        "content": "These functions are not exported by default but you can request them in an import list like\nthis:\n\nuse YAML qw'freeze thaw Bless';\n\nfreeze() and thaw()\nAliases to Dump() and Load() for Storable fans. This will also allow YAML.pm to be\nplugged directly into modules like POE.pm, that use the freeze/thaw API for internal\nserialization.\n\nDumpFile(filepath, list)\nWrites the YAML stream to a file instead of just returning a string.\n\nLoadFile(filepath)\nReads the YAML stream from a file instead of a string.\n\nBless(perl-node, [yaml-node | class-name])\nAssociate a normal Perl node, with a yaml node. A yaml node is an object tied to the\nYAML::Node class. The second argument is either a yaml node that you've already created\nor a class (package) name that supports a \"yamldump()\" function. A \"yamldump()\"\nfunction should take a perl node and return a yaml node. If no second argument is\nprovided, Bless will create a yaml node. This node is not returned, but can be retrieved\nwith the Blessed() function.\n\nHere's an example of how to use Bless. Say you have a hash containing three keys, but you\nonly want to dump two of them. Furthermore the keys must be dumped in a certain order.\nHere's how you do that:\n\nuse YAML qw(Dump Bless);\n$hash = {apple => 'good', banana => 'bad', cauliflower => 'ugly'};\nprint Dump $hash;\nBless($hash)->keys(['banana', 'apple']);\nprint Dump $hash;\n\nproduces:\n\n---\napple: good\nbanana: bad\ncauliflower: ugly\n---\nbanana: bad\napple: good\n\nBless returns the tied part of a yaml-node, so that you can call the YAML::Node methods.\nThis is the same thing that YAML::Node::ynode() returns.  So another way to do the above\nexample is:\n\nuse YAML qw(Dump Bless);\nuse YAML::Node;\n$hash = {apple => 'good', banana => 'bad', cauliflower => 'ugly'};\nprint Dump $hash;\nBless($hash);\n$ynode = ynode(Blessed($hash));\n$ynode->keys(['banana', 'apple']);\nprint Dump $hash;\n\nNote that Blessing a Perl data structure does not change it anyway. The extra information\nis stored separately and looked up by the Blessed node's memory address.\n\nBlessed(perl-node)\nReturns the yaml node that a particular perl node is associated with (see above). Returns\nundef if the node is not (YAML) Blessed.\n"
                    }
                ]
            },
            "GLOBAL OPTIONS": {
                "content": "YAML options are set using a group of global variables in the YAML namespace.  This is\nsimilar to how Data::Dumper works.\n\nFor example, to change the indentation width, do something like:\n\nlocal $YAML::Indent = 3;\n\nThe current options are:\n\nDumperClass\nYou can override which module/class YAML uses for Dumping data.\n\nLoadBlessed (since 1.25)\nDefault is undef (false)\n\nThe default was changed in version 1.30.\n\nWhen set to true, YAML nodes with special tags will be automatocally blessed into\nobjects:\n\n- !perl/hash:Foo::Bar\nfoo: 42\n\nWhen loading untrusted YAML, you should disable this option by setting it to 0. This will\nalso disable setting typeglobs when loading them.\n\nYou can create any kind of object with YAML. The creation itself is not the critical\npart. If the class has a \"DESTROY\" method, it will be called once the object is deleted.\nAn example with File::Temp removing files can be found at\n<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=862373>\n\nLoaderClass\nYou can override which module/class YAML uses for Loading data.\n\nIndent\nThis is the number of space characters to use for each indentation level when doing a\nDump(). The default is 2.\n\nBy the way, YAML can use any number of characters for indentation at any level. So if you\nare editing YAML by hand feel free to do it anyway that looks pleasing to you; just be\nconsistent for a given level.\n\nSortKeys\nDefault is 1. (true)\n\nTells YAML.pm whether or not to sort hash keys when storing a document.\n\nYAML::Node objects can have their own sort order, which is usually what you want. To\noverride the YAML::Node order and sort the keys anyway, set SortKeys to 2.\n\nStringify\nDefault is 0. (false)\n\nObjects with string overloading should honor the overloading and dump the stringification\nof themselves, rather than the actual object's guts.\n\nNumify\nDefault is 0. (false)\n\nValues that look like numbers (integers, floats) will be numified when loaded.\n\nUseHeader\nDefault is 1. (true)\n\nThis tells YAML.pm whether to use a separator string for a Dump operation.  This only\napplies to the first document in a stream. Subsequent documents must have a YAML header\nby definition.\n\nUseVersion\nDefault is 0. (false)\n\nTells YAML.pm whether to include the YAML version on the separator/header.\n\n--- %YAML:1.0\n\nAnchorPrefix\nDefault is ''.\n\nAnchor names are normally numeric. YAML.pm simply starts with '1' and increases by one\nfor each new anchor. This option allows you to specify a string to be prepended to each\nanchor number.\n\nUseCode\nSetting the UseCode option is a shortcut to set both the DumpCode and LoadCode options at\nonce. Setting UseCode to '1' tells YAML.pm to dump Perl code references as Perl (using\nB::Deparse) and to load them back into memory using eval(). The reason this has to be an\noption is that using eval() to parse untrusted code is, well, untrustworthy.\n\nDumpCode\nDetermines if and how YAML.pm should serialize Perl code references. By default YAML.pm\nwill dump code references as dummy placeholders (much like Data::Dumper). If DumpCode is\nset to '1' or 'deparse', code references will be dumped as actual Perl code.\n\nLoadCode\nLoadCode is the opposite of DumpCode. It tells YAML if and how to deserialize code\nreferences. When set to '1' or 'deparse' it will use \"eval()\". Since this is potentially\nrisky, only use this option if you know where your YAML has been.\n\nLoadCode must be enabled also to use the feature of evaluating typeglobs (because with\nthe typeglob feature you would be able to set the variable $YAML::LoadCode from a YAML\nfile).\n\nPreserve\nWhen set to true, this option tells the Loader to load hashes into YAML::Node objects.\nThese are tied hashes. This has the effect of remembering the key order, thus it will be\npreserved when the hash is dumped again. See YAML::Node for more information.\n\nUseBlock\nYAML.pm uses heuristics to guess which scalar style is best for a given node.  Sometimes\nyou'll want all multiline scalars to use the 'block' style. If so, set this option to 1.\n\nNOTE: YAML's block style is akin to Perl's here-document.\n\nUseFold (Not supported anymore since v0.60)\nIf you want to force YAML to use the 'folded' style for all multiline scalars, then set\n$UseFold to 1.\n\nNOTE: YAML's folded style is akin to the way HTML folds text, except smarter.\n\nUseAliases\nYAML has an alias mechanism such that any given structure in memory gets serialized once.\nAny other references to that structure are serialized only as alias markers. This is how\nYAML can serialize duplicate and recursive structures.\n\nSometimes, when you KNOW that your data is nonrecursive in nature, you may want to\nserialize such that every node is expressed in full. (ie as a copy of the original).\nSetting $YAML::UseAliases to 0 will allow you to do this. This also may result in faster\nprocessing because the lookup overhead is by bypassed.\n\nTHIS OPTION CAN BE DANGEROUS. If your data is recursive, this option will cause Dump() to\nrun in an endless loop, chewing up your computers memory. You have been warned.\n\nCompressSeries\nDefault is 1.\n\nCompresses the formatting of arrays of hashes:\n\n-\nfoo: bar\n-\nbar: foo\n\nbecomes:\n\n- foo: bar\n- bar: foo\n\nSince this output is usually more desirable, this option is turned on by default.\n\nQuoteNumericStrings\nDefault is 0. (false)\n\nAdds detection mechanisms to encode strings that resemble numbers with mandatory quoting.\n\nThis ensures leading that things like leading/trailing zeros and other formatting are\npreserved.\n",
                "subsections": []
            },
            "YAML TERMINOLOGY": {
                "content": "YAML is a full featured data serialization language, and thus has its own terminology.\n\nIt is important to remember that although YAML is heavily influenced by Perl and Python, it\nis a language in its own right, not merely just a representation of Perl structures.\n\nYAML has three constructs that are conspicuously similar to Perl's hash, array, and scalar.\nThey are called mapping, sequence, and string respectively.  By default, they do what you\nwould expect. But each instance may have an explicit or implicit tag (type) that makes it\nbehave differently. In this manner, YAML can be extended to represent Perl's Glob or Python's\ntuple, or Ruby's Bigint.\n\nstream\nA YAML stream is the full sequence of Unicode characters that a YAML\nparser would read or a YAML emitter would write. A stream may contain\none or more YAML documents separated by YAML headers.\n\n---\na: mapping\nfoo: bar\n---\n- a\n- sequence\n\ndocument\nA YAML document is an independent data structure representation within a stream. It is a\ntop level node. Each document in a YAML stream must begin with a YAML header line.\nActually the header is optional on the first document.\n\n---\nThis: top level mapping\nis:\n- a\n- YAML\n- document\n\nheader\nA YAML header is a line that begins a YAML document. It consists of three dashes,\npossibly followed by more info. Another purpose of the header line is that it serves as a\nplace to put top level tag and anchor information.\n\n--- !recursive-sequence &001\n- * 001\n- * 001\n\nnode\nA YAML node is the representation of a particular data structure. Nodes may contain other\nnodes. (In Perl terms, nodes are like scalars. Strings, arrayrefs and hashrefs. But this\nrefers to the serialized format, not the in- memory structure.)\n\ntag This is similar to a type. It indicates how a particular YAML node serialization should\nbe transferred into or out of memory. For instance a Foo::Bar object would use the tag\n'perl/Foo::Bar':\n\n- !perl/Foo::Bar\nfoo: 42\nbar: stool\n\ncollection\nA collection is the generic term for a YAML data grouping. YAML has two types of\ncollections: mappings and sequences. (Similar to hashes and arrays)\n\nmapping\nA mapping is a YAML collection defined by unordered key/value pairs with unique keys. By\ndefault YAML mappings are loaded into Perl hashes.\n\na mapping:\nfoo: bar\ntwo: times two is 4\n\nsequence\nA sequence is a YAML collection defined by an ordered list of elements. By default YAML\nsequences are loaded into Perl arrays.\n\na sequence:\n- one bourbon\n- one scotch\n- one beer\n\nscalar\nA scalar is a YAML node that is a single value. By default YAML scalars are loaded into\nPerl scalars.\n\na scalar key: a scalar value\n\nYAML has many styles for representing scalars. This is important because varying data\nwill have varying formatting requirements to retain the optimum human readability.\n\nplain scalar\nA plain scalar is unquoted. All plain scalars are automatic candidates for \"implicit\ntagging\". This means that their tag may be determined automatically by examination. The\ntypical uses for this are plain alpha strings, integers, real numbers, dates, times and\ncurrency.\n\n- a plain string\n- -42\n- 3.1415\n- 12:34\n- 123 this is an error\n\nsingle quoted scalar\nThis is similar to Perl's use of single quotes. It means no escaping except for single\nquotes which are escaped by using two adjacent single quotes.\n\n- 'When I say ''\\n'' I mean \"backslash en\"'\n\ndouble quoted scalar\nThis is similar to Perl's use of double quotes. Character escaping can be used.\n\n- \"This scalar\\nhas two lines, and a bell -->\\a\"\n\nfolded scalar\nThis is a multiline scalar which begins on the next line. It is indicated by a single\nright angle bracket. It is unescaped like the single quoted scalar.  Line folding is also\nperformed.\n\n- >\nThis is a multiline scalar which begins on\nthe next line. It is indicated by a single\ncarat. It is unescaped like the single\nquoted scalar. Line folding is also\nperformed.\n\nblock scalar\nThis final multiline form is akin to Perl's here-document except that (as in all YAML\ndata) scope is indicated by indentation. Therefore, no ending marker is required. The\ndata is verbatim. No line folding.\n\n- |\nQTY  DESC          PRICE  TOTAL\n---  ----          -----  -----\n1  Foo Fighters  $19.95 $19.95\n2  Bar Belles    $29.95 $59.90\n\nparser\nA YAML processor has four stages: parse, load, dump, emit.\n\nA parser parses a YAML stream. YAML.pm's Load() function contains a parser.\n\nloader\nThe other half of the Load() function is a loader. This takes the information from the\nparser and loads it into a Perl data structure.\n\ndumper\nThe Dump() function consists of a dumper and an emitter. The dumper walks through each\nPerl data structure and gives info to the emitter.\n\nemitter\nThe emitter takes info from the dumper and turns it into a YAML stream.\n\nNOTE: In YAML.pm the parserloader and the dumperemitter code are currently\nvery closely tied together. In the future they may be broken into\nseparate stages.\n\nFor more information please refer to the immensely helpful YAML specification available at\n<http://www.yaml.org/spec/>.\n",
                "subsections": []
            },
            "YSH - THE YAML SHELL": {
                "content": "libyaml-shell-perl contains a script called 'ysh', the YAML shell.  ysh provides a simple,\ninteractive way to play with YAML. If you type in Perl code, it displays the result in YAML.\nIf you type in YAML it turns it into Perl code.\n\nTo run ysh, (assuming you installed it along with YAML.pm) simply type:\n\nysh [options]\n\nPlease read the \"ysh\" documentation for the full details. There are lots of options.\n",
                "subsections": [
                    {
                        "name": "BUGS & DEFICIENCIES",
                        "content": "If you find a bug in YAML, please try to recreate it in the YAML Shell with logging turned on\n('ysh -L'). When you have successfully reproduced the bug, please mail the LOG file to the\nauthor (ingy@cpan.org).\n\nWARNING: This is still ALPHA code. Well, most of this code has been around for years...\n\nBIGGER WARNING: YAML.pm has been slow in the making, but I am committed to having top notch\nYAML tools in the Perl world. The YAML team is close to finalizing the YAML 1.1 spec. This\nversion of YAML.pm is based off of a very old pre 1.0 spec. In actuality there isn't a ton of\ndifference, and this YAML.pm is still fairly useful. Things will get much better in the\nfuture.\n"
                    }
                ]
            },
            "RESOURCES": {
                "content": "<http://lists.sourceforge.net/lists/listinfo/yaml-core> is the mailing list.  This is where\nthe language is discussed and designed.\n\n<http://www.yaml.org> is the official YAML website.\n\n<http://www.yaml.org/spec/> is the YAML 1.2 specification.\n\n<http://yaml.kwiki.org> is the official YAML wiki.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "•   YAML::XS\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Ingy döt Net <ingy@cpan.org>\n",
                "subsections": []
            },
            "COPYRIGHT AND LICENSE": {
                "content": "Copyright 2001-2020. Ingy döt Net.\n\nThis program is free software; you can redistribute it and/or modify it under the same terms\nas Perl itself.\n\nSee <http://www.perl.com/perl/misc/Artistic.html>\n\n\n\nperl v5.30.0                                 2020-01-29                                    YAML(3pm)",
                "subsections": []
            }
        }
    }
}