The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
PPI::Document
  PPI::Statement::Compound
    PPI::Token::Word  	'while'
    PPI::Token::Whitespace  	' '
    PPI::Structure::Condition  	( ... )
      PPI::Statement::Expression
        PPI::Token::QuoteLike::Readline  	'<FOO>'
    PPI::Token::Whitespace  	' '
    PPI::Structure::Block  	{ ... }
  PPI::Token::Whitespace  	'\n'
  PPI::Statement
    PPI::Token::Symbol  	'@foo'
    PPI::Token::Whitespace  	' '
    PPI::Token::Operator  	'='
    PPI::Token::Whitespace  	' '
    PPI::Token::QuoteLike::Readline  	'<BAR>'
    PPI::Token::Structure  	';'
  PPI::Token::Whitespace  	'\n'
  PPI::Statement
    PPI::Token::Symbol  	'@foo'
    PPI::Token::Whitespace  	' '
    PPI::Token::Operator  	'='
    PPI::Token::Whitespace  	' '
    PPI::Token::QuoteLike::Readline  	'<>'
    PPI::Token::Structure  	';'
  PPI::Token::Whitespace  	'\n'
  PPI::Statement
    PPI::Token::Word  	'print'
    PPI::Token::Whitespace  	' '
    PPI::Token::Word  	'while'
    PPI::Token::Whitespace  	' '
    PPI::Token::QuoteLike::Readline  	'<>'
    PPI::Token::Structure  	';'
  PPI::Token::Whitespace  	'\n'
  PPI::Statement
    PPI::Token::Word  	'grep'
    PPI::Token::Whitespace  	' '
    PPI::Structure::Block  	{ ... }
      PPI::Token::Whitespace  	' '
      PPI::Statement
        PPI::Token::Regexp::Match  	'/foo/'
      PPI::Token::Whitespace  	' '
    PPI::Token::Whitespace  	' '
    PPI::Token::QuoteLike::Readline  	'<FOO>'
    PPI::Token::Structure  	';'
  PPI::Token::Whitespace  	'\n'
  PPI::Statement::Variable
    PPI::Token::Word  	'my'
    PPI::Token::Whitespace  	' '
    PPI::Token::Symbol  	'@v'
    PPI::Token::Operator  	'='
    PPI::Token::QuoteLike::Readline  	'<$up../*.v>'
    PPI::Token::Structure  	';'
  PPI::Token::Whitespace  	'\n'