NAME Org::Parser - Parse Org documents VERSION version 0.05 SYNOPSIS use 5.010; use Org::Parser; my $orgp = Org::Parser->new(); # parse a file my $doc = $orgp->parse_file("$ENV{HOME}/todo.org"); # parse a string $orgp->parse(<walk(sub { my ($el) = @_; next unless $el->isa('Org::Element::Headline'); say "heading level ", $el->level, ": ", $el->title->as_string; }); will print something like: heading level 1: heading1a heading level 2: heading2a heading level 2: heading2b heading level 1: heading1b heading level 1: heading1c DESCRIPTION This module parses Org documents. See http://orgmode.org/ for more details on Org documents. This module uses Log::Any logging framework. This module uses Moo object system. See "todo.org" in the distribution for the list of already- and not yet implemented stuffs, ATTRIBUTES METHODS new() Create a new parser instance. $orgp->parse($str | $arrayref | $coderef | $filehandle) => $doc Parse document (which can be contained in a scalar $str, an array of lines $arrayref, a subroutine which will be called for chunks until it returns undef, or a filehandle). Returns Org::Document object. If 'handler' attribute is specified, will call handler repeatedly during parsing. See the 'handler' attribute for more details. Will die if there are syntax errors in documents. $orgp->parse_file($filename) => $doc Just like parse(), but will load document from file instead. SEE ALSO Org::Document AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2011 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.