On Fri, Jul 25, 2014 at 07:27:34AM +1200, Kent Fredric wrote: > On 25 July 2014 05:13, Ricardo Signes <perl.p5p@rjbs.manxome.org> wrote: > > > I like the feature, but I think it might be too small a change to pick up > > a new > > operator. What about a pragma/feature? > > > > +1 on pragma/featurizing it. > > I'm half of the mind that <> allowing pipe opens constitutes a kind of bug > in itself. > > So a lexical pragma that turns on/off that behavior seems more sensible > than new syntax, and once we do that, we can discuss whether or not the > pragma should default on/off somehow in a future perl. -1 here. People don't like magic open because you can't see what you're getting. Disabling this with a feature means, you're disabling it with something you don't see. while (<>) { ... # Magic open or not? } Whether or not it's a magic open is something you can't see locally. You'd have to scroll the file to see whether a feature is active or not. while (<<>>) { ... # Obvious } Note 1: I'm well aware this is not something specific about <>/<<>>, but that it's general uneasyness I have with features (or pragmas) controlling behaviour. It's often too much "action in a distance" for my liking. (Pragmas also means that whenever you explain something about a construct, you always have to put a disclaimer there about the pragmas affecting the construct -- it doesn't make it easier to learn or teach the language). Note 2: Having said that, to eliminate the magicness of open(), we got 3-arg open(), instead of controlling it with a pragma. Note 3: (To ease the feeling of the pumpkin): Instead of seeing '<<>>' as a new operator, just see it as the '<>' operator with a special cased operand. AbigailThread Previous | Thread Next