Why source filters are bad:
- Nothing but perl can parse Perl. (Source filters are fragile.)
- When a source filter breaks pretty much anything can happen. (They can introduce subtle and very hard to find bugs.)
- Source filters can break tools that work with source code. (PPI, refactoring, static analysis, etc.)
- Source filters are mutually exclusive. (You can't use more than one at a time -- unless you're psychotic).
When they're okay:
- You're experimenting.
- You're writing throw-away code.
- Your name is Damian and you must be allowed to program in latin.
- You're programming in Perl 6.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…