SPUG: A little style question....
Matt Tucker
tuck at whistlingfish.net
Tue Sep 19 19:54:55 CDT 2000
-- Stephen Nickels <snickels at u.washington.edu> spake thusly:
> My friend, however, considers them the spawn of the
> underworld, believing that all good programs should work exactly the
> same after having all groups of spaces and/or newlines replaced with
> a single space. (aka, $code =~ s/[\s\n]+/ /g;) Line-delimited things
> like here docs break this rule of his quite severly.
>
> So what are some of the general opinions of perl-mongers out there?
> Are here docs a useful addition to programming languages, or are they
> bad form?
I agree with most of what James Munger had to say, but I had the
following to add:
Following your friend's coding practices, he would have to write the
following regular expression:
s/^\t/ /gm; # Note the four sequential spaces
As:
s/^\t/' ' x 4/gem; # Note the unnecessary obfuscation
This is just a minor example of what dangers exist in trying to run the
s/\s+/ /gs; regex across a Perl script. I don't think it's realistic to
expect to be able to do a wholesale replacement of whitespace in Perl
code without being able to actually parse the code as Perl (at which
point you can deal with heredocs).
The same caveat exists for C code, actually, but C is a good deal
easier to parse. I doubt anyone would recommend replacing whitespace in
C without also admitting that skipping over string constants (and
possibly comments) is necessary.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest
Seattle Perl Users Group (SPUG) Home Page: http://www.halcyon.com/spug/
More information about the spug-list
mailing list