Changes for version 1.216_01
- Summary:
- Fixes for various parsing and documentation bugs
- 1MB limit on input document size removed
- Moved repository to GitHub: https://github.com/adamkennedy/PPI
- Details:
- Stop directing bugs to rt.cpan.org (GitHub #40) (MOREGAN)
- Fix documentation reference to List::Util (RT #75308) (RWSTAUNER)
- Improve scalability of parsing long lines, and remove the size limit on documents PPI will parse (GitHub #5) (MITHALDU)
- Speed up adding an element to an unlabeled statement. Allow inlining of some methods. (WOLFSAGE)
- Expanded test coverage (DOLMEN, MOREGAN)
- Convert inline tests to standalone tests (GitHub #12) (MOREGAN)
- Fix for '1=>x' being parsed as x operator (GitHub #46) (MOREGAN)
- Recognize that '1 x3' is the x operator followed by a 3 (RT #37892, GitHub #27) (MOREGAN)
- Support all augmented assignment operators (<<=, ||=, etc.) (RT #68176, 71705) (MOREGAN)
- Stop upper-case "=CUT" from terminating POD (RT #75039) (JAE)
- Support upper-case digits in hex and binary numbers, including in the leading '0X' and '0B'. (RT #36540) (KRYDE, MOREGAN)
- Fix float argument to range operator misparsed as version string (RT #45014) (MOREGAN)
- Fix POD markup in PPI::Find (RT #51693) (FWIE)
- Fix spelling of "Tom Christiansen" (RT #67264) (TADMC)
- Fix a large raft of spelling and grammar errors (RT #85049) (David Steinbrunner, DOLMEN, MOREGAN)
- Fix errors in documentation of the PPI::Element class hierarchy (RT #30863, 69026) (SJQUINNEY)
- Prevent PPI::XSAccessor packages from hiding corresponding PPI packages in CPAN (RT #90792) (MITHALDU)
- Recognize the formfeed character as whitespace (RT #67517) (WYANT)
- Recognize regex match following 'return' (RT #27475) (ADAMK)
- Fix missing dereference, length called on reference (RT #40103) (ADAMK)
Modules
- PPI - Parse, Analyze and Manipulate Perl (without perl)
- PPI::Cache - The PPI Document Caching Layer
- PPI::Document - Object representation of a Perl document
- PPI::Document::File - A Perl Document located in a specific file
- PPI::Document::Fragment - A fragment of a Perl Document
- PPI::Document::Normalized - A normalized Perl Document
- PPI::Dumper - Dumping of PDOM trees
- PPI::Element - The abstract Element class, a base for all source objects
- PPI::Find - Object version of the Element->find method
- PPI::Lexer - The PPI Lexer
- PPI::Node - Abstract PPI Node class, an Element that can contain other Elements
- PPI::Normal - Normalize Perl Documents
- PPI::Normal::Standard - Provides standard document normalization functions
- PPI::Statement - The base class for Perl statements
- PPI::Statement::Break - Statements which break out of normal statement flow
- PPI::Statement::Compound - Describes all compound statements
- PPI::Statement::Data - The __DATA__ section of a file
- PPI::Statement::End - Content after the __END__ of a module
- PPI::Statement::Expression - A generic and non-specialised statement
- PPI::Statement::Given - Describes all compound statements
- PPI::Statement::Include - Statements that include other code
- PPI::Statement::Include::Perl6 - Inline Perl 6 file section
- PPI::Statement::Null - A useless null statement
- PPI::Statement::Package - A package statement
- PPI::Statement::Scheduled - A scheduled code block
- PPI::Statement::Sub - Subroutine declaration
- PPI::Statement::Unknown - An unknown or transient statement
- PPI::Statement::UnmatchedBrace - Isolated unmatched brace
- PPI::Statement::Variable - Variable declaration statements
- PPI::Statement::When - Describes all compound statements
- PPI::Structure - The base class for Perl braced structures
- PPI::Structure::Block - Curly braces representing a code block
- PPI::Structure::Condition - Round braces for boolean context conditions
- PPI::Structure::Constructor - Anonymous hash or array constructor
- PPI::Structure::For - Circular braces for a for expression
- PPI::Structure::Given - Circular braces for a switch statement
- PPI::Structure::List - Explicit list or precedence ordering braces
- PPI::Structure::Subscript - Braces that represent an array or hash subscript
- PPI::Structure::Unknown - An unknown or unresolved brace structure
- PPI::Structure::When - Circular braces for a when statement
- PPI::Token - A single token of Perl source code
- PPI::Token::ArrayIndex - Token getting the last index for an array
- PPI::Token::Attribute - A token for a subroutine attribute
- PPI::Token::BOM - Tokens representing Unicode byte order marks
- PPI::Token::Cast - A prefix which forces a value into a different context
- PPI::Token::Comment - A comment in Perl source code
- PPI::Token::DashedWord - A dashed bareword token
- PPI::Token::Data - The actual data in the __DATA__ section of a file
- PPI::Token::End - Completely useless content after the __END__ tag
- PPI::Token::HereDoc - Token class for the here-doc
- PPI::Token::Label - Token class for a statement label
- PPI::Token::Magic - Tokens representing magic variables
- PPI::Token::Number - Token class for a number
- PPI::Token::Number::Binary - Token class for a binary number
- PPI::Token::Number::Exp - Token class for an exponential notation number
- PPI::Token::Number::Float - Token class for a floating-point number
- PPI::Token::Number::Hex - Token class for a binary number
- PPI::Token::Number::Octal - Token class for a binary number
- PPI::Token::Number::Version - Token class for a byte-packed number
- PPI::Token::Operator - Token class for operators
- PPI::Token::Pod - Sections of POD in Perl documents
- PPI::Token::Prototype - A subroutine prototype descriptor
- PPI::Token::Quote - String quote abstract base class
- PPI::Token::Quote::Double - A standard "double quote" token
- PPI::Token::Quote::Interpolate - The interpolation quote-like operator
- PPI::Token::Quote::Literal - The literal quote-like operator
- PPI::Token::Quote::Single - A 'single quote' token
- PPI::Token::QuoteLike - Quote-like operator abstract base class
- PPI::Token::QuoteLike::Backtick - A `backticks` command token
- PPI::Token::QuoteLike::Command - The command quote-like operator
- PPI::Token::QuoteLike::Readline - The readline quote-like operator
- PPI::Token::QuoteLike::Regexp - Regexp constructor quote-like operator
- PPI::Token::QuoteLike::Words - Word list constructor quote-like operator
- PPI::Token::Regexp - Regular expression abstract base class
- PPI::Token::Regexp::Match - A standard pattern match regex
- PPI::Token::Regexp::Substitute - A match and replace regular expression token
- PPI::Token::Regexp::Transliterate - A transliteration regular expression token
- PPI::Token::Separator - The __DATA__ and __END__ tags
- PPI::Token::Structure - Token class for characters that define code structure
- PPI::Token::Symbol - A token class for variables and other symbols
- PPI::Token::Unknown - Token of unknown or as-yet undetermined type
- PPI::Token::Whitespace - Tokens representing ordinary white space
- PPI::Token::Word - The generic "word" Token
- PPI::Token::_QuoteEngine - The PPI Quote Engine
- PPI::Tokenizer - The Perl Document Tokenizer
- PPI::Transform - Abstract base class for document transformation classes
- PPI::Transform::UpdateCopyright - Demonstration PPI::Transform class
Provides
- PPI::Exception in lib/PPI/Exception.pm
- PPI::Exception::ParserRejection in lib/PPI/Exception/ParserRejection.pm
- PPI::Exception::ParserTimeout in lib/PPI/Exception/ParserTimeout.pm
- PPI::Token::_QuoteEngine::Full in lib/PPI/Token/_QuoteEngine/Full.pm
- PPI::Token::_QuoteEngine::Simple in lib/PPI/Token/_QuoteEngine/Simple.pm
- PPI::Util in lib/PPI/Util.pm
- PPI::XSAccessor in lib/PPI/XSAccessor.pm