develooper Front page | perl.perl5.porters | Postings from August 2009

Re: [DOC] Modernization: perlsyn

Thread Previous | Thread Next
Elizabeth Mattijsen
August 30, 2009 14:48
Re: [DOC] Modernization: perlsyn
Message ID:

On Aug 30, 2009, at 11:34 PM, Abigail wrote:
> On Sat, Aug 29, 2009 at 09:04:43PM -0400, Christopher Nehren wrote:
>> FWIW, it probably makes sense to use the style documented in  
>> perlstyle
>> where it's applicable (and in line with the current goals), for the  
>> sake
>> of consistency. For this issue, perlstyle suggests the rather  
>> Strunkian
>> "Omit redundant punctuation as long as clarity doesn’t suffer." We
>> should strive to be consistent above all else, so as to enhance  
>> clarity
>> and reduce confusion.
> Actually, I'm not so sure I agree with the "We should strive to be
> consistent". Perl allows you to do things in more than one way. Hence,
> the documentation shouldn't shy away from showing multiple ways to do
> things. I'd say that if to do X, one commonly finds three ways of  
> doing
> things (for instance $hash {BAR}, $hash {'BAR'}, and $hash {"BAR"}),
> it would be OK for the documentation to use all three styles, and we
> shouldn't pick one style and exclude the other three.

Should we mention that you can write any variable like $foo also as $ 
{foo}?  Or even as ${"foo"} if you don't have strict enabled?

There is such a thing as taking it too far with TIMTOWTDI.

I'd rather would want to try to approach perlsyn more as a grammar,  
where you specify that the key to a hash may be a STRING, where string  
is either FOO, 'FOO' or "FOO".  And perhaps mention that you *must*  
quote the string if there can be confusion with a (builtin) function:

$ perl -Mwarnings -le '$a{shift}="bar"; print $a{"shift"}' foo

> Exclude things that are uncommon, illogical, or inefficient. But don't
> go for "consistent above all else". That's Pythons turf, not Perls.

I think part of the modernization of the documentation *should* be to  
make things more consistent.  And if there is a "best practice", then  
only that practice should generally be mentioned.  Regardless of any  
other programming language out there.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About