PPI::Document PPI::Statement::Compound PPI::Token::Word 'while' PPI::Token::Whitespace ' ' PPI::Structure::Condition ( ... ) PPI::Statement::Expression PPI::Token::QuoteLike::Readline '' 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 '' 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 '' 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'