Front page | perl.perl5.porters |
Postings from August 2008
Re: [PATCH] Add open "|-" and open "-|" to perlopentut
Thread Previous
|
Thread Next
From:
H.Merijn Brand
Date:
August 25, 2008 10:05
Subject:
Re: [PATCH] Add open "|-" and open "-|" to perlopentut
Message ID:
20080825190530.74e42359@pc09.procura.nl
On Mon, 25 Aug 2008 10:53:55 -0600, Tom Christiansen <tchrist@perl.com>
wrote:
> In-Reply-To: Message from "H.Merijn Brand" <h.m.brand@xs4all.nl>
> of "Mon, 25 Aug 2008 11:36:22 +0200."
> <20080825113622.0eafe8ba@pc09.procura.nl>
>
> > On Mon, 25 Aug 2008 02:35:24 -0600, [I,] Tom Christiansen
> > <tchrist@perl.com>, wrote:
>
> >>> I converted the '|-' example to "lpr".
> >>
> >> Nice to see better quotes.
>
> >>>> Finally, should these examples be included *before* the
> >>>> references to IPC::Open2 and perlipc?
> >>
> >>> Don't know.
> >>
> >> No.
>
> >>> New patch attached.
>
> >> How delightful: politically-correct Bow[d]lerization in programming
> >> languages' documentation. Must we fiddle about with t's that are
> >> already crossed whilst Rome is burning?
>
> >> For the record, and if I were to fix it back up so it actually reads as
> >> I write (and would see other[s] write) again, I'd certainly make doubly
> >> [sure] always to use double-quotes in all places other than those scant
> >> few that have just cause to see interpolation suppressed.
>
> > I have had my disputes with you, but I wholeheartedly agree with you
> > for 100% on the use of double quotes here!
>
> I'm glad that, despite producing so long a missive--nay, arguably more
> of a document than a simple letter--more riddled with typos than a
> moth-eaten old sweater is with holes, I still managed to convey my
> point in a convincingly persuasive manner. But such are the perils
> of writing in those wee small hours of the unborn day.
>
> The argument for using double quotes over singles distills down to two
> major points, the first simple and the second subtler:
>
> 1) They're easier to read because they're wider, dodging also the
> late-night `grave-vs-acute' quandary of dim vision or bad fonts.
>
> 2) Perl is fundamentally *interpolative* by nature, and so its default
> behaviour--one seen in many, many places--is to interpolate; forever
> fighting against that nature is more trouble than it's worth.
>
> Interpolated strings literals are no different in this regard than many
> another construct in Perl. Indeed, in places other than strings, Perl's
> inherently interpolative nature may be suppressed only via incantations
> substantially more convoluted (read: uglier) than resorting to single quotes.
>
> Reserve therefore the special, *suppressive* syntax for that rare occasion
> when you genuinely require it. Do not use it out of mindless habit and so
> needlessly force the reader to try to discern whether you *meant* to
> suppress something, what that was, and why.
>
> Plus, that path also avoids confusing both shell and C programmer alike,
> who expect and intend \t or \n to mean but single characters, not doubles.
>
> Lastly, if you start out with single quotes, you'll too often have to
> change the whole thing when you later find yourself needing to include
> some backslashed character or a variable. By using double quotes from
> the onset, you save yourself work in the future, and perhaps also run
> less risk of error.
This last point was my primary reason to take this policy years ago.
And as a second choice I revert to using q{} and qq{} instead of single
quotes to make that deliberate choice obvious in that part of the code.
> --tom
>
> PS: I know: those final two paragraphs could count as points 3 and 4.
> But these are a minor pair of points compared with the major pair.
--
H.Merijn Brand Amsterdam Perl Mongers http://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, SuSE 10.1, 10.2, and 10.3, AIX 5.2, and Cygwin.
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/
Thread Previous
|
Thread Next