Some implementations of YAML, such as Perl's YAML.pm, will load an entire file (stream) and parse it "en masse". Other implementations like PyYaml are lazy and iterate over the next document only upon request. For very large files in which one plans to handle the documents independently, instantiating the entire file before processing may be prohibitive. Thus in YAML.pm, occasionally one must chunk a file into documents and parse those individually. YAML makes this easy, since this simply requires splitting on the document end marker, which is defined as three periods on a line by themselves. This marker is forbidden in content.