On 07/18/2012 12:40 PM, Jesse Luehrs wrote: > On Wed, Jul 18, 2012 at 09:38:37PM +0300, Leon Timmermans wrote: >> On Wed, Jul 18, 2012 at 4:35 PM, Paul Johnson <paul@pjcj.net> wrote: >>> On Tue, Jul 17, 2012 at 11:44:35PM -0700, l.mai@web.de wrote: >>> >>>> % perl -we '"qwertasd"' >>>> Useless use of a constant ("qwertasd") in void context at -e line 1. >>>> >>>> % perl -we '"dsatrewq"' >>>> >>>> >>>> Any string starting with "di", "ds", or "ig" is exempt from "void context" >>>> warnings. I can't find any documentation for this misfeature. It should be >>>> removed from the interpreter. >>> >>> >>> It's not really a misfeature. It's more of an old feature. The code >>> explains why it's there: >>> >>> op.c:1473 >>> /* perl4's way of mixing documentation and code >>> (before the invention of POD) was based on a >>> trick to mix nroff and perl code. The trick was >>> built upon these three nroff macros being used in >>> void context. The pink camel has the details in >>> the script wrapman near page 319. */ >>> >>> As far as documentation is concerned, I suppose that it wouldn't be a >>> bad thing to make a note of this somewhere. >>> >>> As far as removing it is concerned, I presume that no one is writing new >>> code in this way, and probably hasn't for a few years. So the removal >>> is a trade-off between a slight standardisation and simplification and >>> breaking backwards compatibility with some perl4 era programs. >>> >>> I would side with keeping backwards compatibility. >> >> Considering this is a warning that has to be enabled explicitly, and >> that we're talking about perl 4 compatibility here, I wouldn't care >> too much about such a minor break of backwards compatibility. I'd be >> surprised if this was the first time in the past 18 years that such a >> thing happened. > > +1 > > -doy > +1Thread Previous | Thread Next