Johan Vromans <[EMAIL PROTECTED]> writes:

> I fail to see this point.
> Having a program depend on a preprocessing stage that, if skipped,
> would still result in valid but erroneous source seems dangerous to me.

No, the point is more that normal Perl source is *full* of active m4
characters.  Without quoting, all your paired quotes would disappear,
comments would be stripped even when they're not actually comments but are
really regexes, m4 wouldn't understand things like Perl strings and
regexes and do substitutions where it shouldn't, etc.

The problem is not that you can skip the preprocessing stage, but rather
that as soon as you want to use m4 on a Perl program, you'd have to do a
*huge* amount of work on all the parts of the program you *don't* need to
preprocess just to be able to do things with the part that you do want to
preprocess.

cpp, on the other hand, has very few active constructs or characters, just
identifiers, function calls, and # at the beginning of a line.  It still
causes a few problems where it recognizes something it shouldn't, but it's
trivial to deal with compared to m4.

-- 
Russ Allbery ([EMAIL PROTECTED])             <http://www.eyrie.org/~eagle/>

Reply via email to