Re: authorial perlipc edit
[email protected] (demerphq) Tue, 9 Nov 2010 16:04:35 +0100
| Newsgroups | perl.perl5.porters,perl.documentation |
|---|---|
| Message-ID | <[email protected]> |
On 9 November 2010 15:44, Tom Christiansen <[email protected]> wrote: > On 09 Nov 2010 06:02:55 GMT you wrote: > >>> For now, I'm sending the complete revision in toto. > >> Applied as cf21866, with some tpyo corretcions. > > Thanks very muhc. =A0I think it's a better document now, > even if only marginally. > > =3D=3D=3D=3D=3D=3D=3D > =A0TYPOS > =3D=3D=3D=3D=3D=3D=3D > > Even though my last step was to spell-check it, a few typos still > made it through. =A0Here are four that I'm aware of: > > =A01. Be careful qx(), system(), and some modules for calling external co= mmands > =A0 =A0 =A0 =A0 =A0 =A0 =A0^ > =A0 =A0 =A0 =A0 =A0 =A0 =A0^ insert ":" right after "careful" > > =A02. =A0 =A0 exit if $pid; =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # non-zer= o now mean I am the paren > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ^ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ^ change "mean" to means" > > =A03. resort to the harder-to-readm, multi-argument form of pipe open(). = =A0However, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0^ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0^ delete t= hat "m" > > =A04. Chapter 6 of the Camel. > =A0 =A0 =A0 =A0 =A0 =A0^ > =A0 =A0 =A0 =A0 =A0 =A0^ That should now be "16", not "6". > > =3D=3D=3D=3D=3D=3D=3D=3D > =A0POLICY > =3D=3D=3D=3D=3D=3D=3D=3D > > That last one snuck past me because I always quickly avert my eyes from > such self-mentions. =A0I'm *terribly* queasy about the least hint of what > could be perceived as pecunious self-promotion. =A0I justify it in this > case solely because it might also help out Larry, who otherwise receives > so very little for his lifetime of work on Perl; it's the least we can do= . > > Yet I'm bothered because it seems somewhat unfair to readers to point the= m > only at Camel:16 when Cookbook:14-18 covers that material in much richer > detail. =A0But I cannot do that, given that I can no longer justify it in= the > same way: Larry has only an intro in PCB, which had its notional origin i= n > material I split off from v1 Camel when making v2. =A0Even perlipc itself= I > wrote as dry-run for Camel v3, just like many other standard pods. > > Not providing better references seems unfair to other authors (not me) > whose own works might quite reasonably be referenced here and elsewhere > in the standard Perl documentation, but that is a huge can of worms that > we long ago decided not to open, as evinced by perlbook(1). > > So I feel it must be left as is--or rather, as amended to "16"--without > the Cookbook reference, even though this really is too bad, especially > when the full source code is downloadable for free. > > The current policy should stand. =A0I don't want to open that up. > It's just not worth the bother, or the risk. =A0Oh well. > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =A0CODE FIXES > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Beyond unifying the code back into my own style where it had become > internally inconsistent and generally tightening it up in many > places, I also improved the code's error checking, naming of > identifier, and comments. > > In places I reduced code complexity by factoring out some of the deeply > nested indentation. =A0I provided an additional multi-arg pipe example to > better explain the problem of shell metachars, the guts of which is: > > =A0 =A0@grep_args =3D ("egrep", "-i", $some_pattern, @many_files); > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =A0ENGLISH FIXES > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Besides trivial changes like normalizing spelling and to a lesser extent > fonting, I smoothed out the phasing in quite a few places, including > inlining some of the many parenthetical statements (which can be pretty > distracting otherwise (don't you think?)). > > I reduced the number of explicit mentions of Unix where this made sense t= o > do. =A0I amended statements about the Mac so that it was clear that these > applied only to pre-Darwin releases. > > I mentioned IPC::Shareable and threads::shared where appropriate. > I excised mention of Comm.pl, as it is likely older than many of > the readers, and far less healthy. > > One of my TODOs I left intact: > > =A0 =A0=3Dfor TODO > =A0 =A0Hold on, is this even true? =A0First it says that socketpair() is = avoided > =A0 =A0for portability, but then it says it probably won't work except on > =A0 =A0Unixy systems anyway. =A0Which one of those is true? > > That follows these two sentences: > > =A0 =A0Although it might have been more efficient by using socketpair(), = this > =A0 =A0would have been even less portable than it already is. =A0The open= 2() and > =A0 =A0open3() functions are unlikely to work anywhere except on a Unix > =A0 =A0system, or at least one purporting POSIX compliance. > > Are *both* those two statements really still needed? > > I've been led to believe that open2/3 do work on Microsoft systems, > but that they do so there for reasons other than MS's not-useful > letter-of-the-law POSIX compliance. > > Do they work on VMS? =A0What non-Unix systems apart from Microsoft and > VMS do people still use? =A0What about iOS? Personally I really wish you had kept the changes to use lexically scoped filehandles. cheers, Yves --=20 perl -Mre=3Ddebug -e "/just|another|perl|hacker/"