Static parsing is only reliable, if you rule out or control all imported subs, because prototypes change the way Perl is parsed.
I think, though, that prototypes aren't the only reason Perl isn't statically parseable. There are quite a few heuristics that the parser uses that aren't all too well documented, and I'm not sure if a static parser would be able to reimplement all of them. And then there is no strict code, which I think gets even trickier. At some point I was considering researching and making a list of all of the reasons, but I unfortunately never got around to it.
In reply to Re^3: On Parsing Perl (Once upon a time)
by haukex
in thread On Parsing Perl
by merlyn
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |