<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On 15 March 2017 at 11:05, Steve Piner <span dir="ltr"><<a href="mailto:Steve.Piner@signify.co.nz" target="_blank">Steve.Piner@signify.co.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">As mentioned in the meeting, PPI might be useful for Perl-ish
syntax checking, without executing Perl. If you use syntax-warping
modules however, PPI probably won't be sufficient.</blockquote></div><br></div><div class="gmail_extra">Just be careful. PPI can do magical things :)<br><br></div><div class="gmail_extra">Like .... Accidentally parse XML as if it was perl.<br><br>perl -MPPI -MData::Dump=pp -e "my \$ppi = PPI::Document->new(\\'<list></list>'); print pp \$ppi " <br></div><div class="gmail_extra"><br clear="all">bless({<br> children => [<br> bless({<br> children => [<br> bless({ content => "<" }, "PPI::Token::Operator"),<br> bless({ content => "list" }, "PPI::Token::Word"),<br> bless({ content => ">" }, "PPI::Token::Operator"),<br> bless({ content => "<" }, "PPI::Token::Operator"),<br> bless({<br> _sections => 1,<br> braced => 0,<br> content => "/list>",<br> modifiers => {},<br> operator => undef,<br> sections => [{ position => 1, size => 5, type => "//" }],<br> separator => "/",<br> }, "PPI::Token::Regexp::Match"),<br> ],<br> }, "PPI::Statement"),<br> ],<br> readonly => "",<br> tab_width => 1,<br>}, "PPI::Document")<br><br>How I found out: <a href="https://rt.cpan.org/Ticket/Display.html?id=120578">https://rt.cpan.org/Ticket/Display.html?id=120578</a><br><br>--<br><div class="gmail_signature"><div dir="ltr"><div>Kent<font size="1"><b> <br><br></b></font></div><div><span style="color:rgb(204,204,204)"><font size="1"><b>KENTNL</b> - <a href="https://metacpan.org/author/KENTNL" target="_blank">https://metacpan.org/author/KENTNL</a></font></span><br></div><div><br></div></div></div>
</div></div>