Perl Cannot Be Parsed: A Formal Proof
For those not familiar with the history of this discussion, the term "parse" here is being used in its strict sense to mean static parsing -- taking a piece of code and determining its structure without executing it. In that strict sense the Perl program does not parse Perl. As Jeffrey pointed out it means that you can't reliably parse perl code without executing it. This means that things like static code analysis, code transformation and syntax hilighting will never be reliable. This is a drawback indeed, but on the other hand it means that modules can extend Perl's syntax, and that other nifty stuff can be accomplished. So I understand this node as a proof of a property that is seldom fully understood.
[ UPDATE 14 Aug 2009: A series of three articles in The Perl Review, now available online, expands on this node. In that series, the proof is carefully laid out in three different versions, and is much more thoroughly explained. ]Bill the Lizard: Six Visual Proofs