This morning on IRC we were talking about old perl installations, and how forgetting the
use 5.010 but using 5.10 features, for example the
// operator, can be a problem.
I suggested maybe using a git hook would be an idea, so I assembled this proof of concept script to test for 5.10-isms but without a
use 5.010; statement. It's too long to include here, so I put in on Github (https://gist.github.com/1875528).
The script uses the "impossible" PPI module to parse the Perl code and extract information about used operators using
PPI::Token::Operator, to catch
~~ or similar, and
use statements, with
It's meant to be run as part of a post-commit hook or similar. I had searched for similar modules in the
Perl::Critic space but found nothing of sorts. Maybe I just didn't look too well?
Anyway, https://gist.github.com/1875528. Enjoy.