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 -doyThread Previous | Thread Next