I've just uploaded PPI 1.117 to the CPAN.
This release contains a fixes for a number of things I broke in 1.116, but which did not have test cases (and so I didn't notice I had broken).
In particular, trivial compound statements should work again, so that something like...
LABEL: {
print "Hello World!";
}
... is not seen as two statements.
As PPI's biggest "client" (by user count at least) I probably need to get into the habit of installing Perl::Critic on the new release to make sure it still works.
That said, Perl::Critic seems to still be broken with 1.117, but the failures don't look obvious, and so my hope is that the critic guys can release a new version shortly which adapts to the PPI changes/fixes, or that they'll commit more test cases I haven't covered.
Either way, I apologise for the short period of instability to Perl::Critic, hopefully we'll get this stuff cleaned up shortly.
Re:Thanks
Alias on 2006-09-03T07:48:24
My standard for that is based on how stable Perl's interpretation is.
Perl's intepretation changes over time (each version has slight differences here and there). Witness how selfgol only works on a few particular versions of Perl.
PPI doesn't try to maintain bug for bug compatibility, because it simply can't. It has to be somewhat compatible with all versions.
So the general direction is that BOTH of $Perl{perl} and $Perl{PPI} trends towards $Perl{Larry}. On the way, $Perl{PPI} also tries to get as close as it can to $Perl{perl} but without compromising its compatibility to $Perl{Larry}.
In the above case, it might matter enough to make it worth it, if not in that case, then maybe in a few other cases.
It depends on if it is considered a bug or not, one could thing of the above as
3 -t scalar()
It is nonsensical, but tentatively legal in some cases.
If in doubt, I'm inclined to just leave things as they are until something comes up that matters.
Re:Thanks
ChrisDolan on 2006-09-03T19:55:08
Sorry, I was unclear. I didn't mean that "3-t();" anecdote as a criticism of PPI. I just thought I'd mention it here as an oddity that I came across in my testing rather than ignore it. It's just a curiosity.Re:Thanks
Alias on 2006-09-03T22:07:59
And I didn't take it as a criticism, I was just pointing out I know there's lots of stuff like that, and there are certain conditions under which I fix them, even if illogical.