in reply to
Is auto-dereferencing worth forcing upgrades to newer versions of Perl?
There are millions of lines of Perl source-code in production service, and maintaining seamless compatibility across upgrades is very important. Adding a fee-chur for no more reason than saving a programmer a couple of flexes of his fingertips on the keyboard .. when there already exists a way to get this done .. is an unwise thing to do, especially when the change is not “source-code obvious.” Adding a new, convenient operator is okay because older Perl compilers will instantly reject it with a syntax error, with-or-without strict/warnings. But adding a fee-chur which changes the meaning of existing source code is, in my opinion, a source of pointless grief. I see no return-on-investment to warrant the greatly increased business risk.
Still want to do it? Then introduce a use auto_dereference pragma, which only works on (say ...) 5.014 forward. (The use 5.014; directive can stay, of course, but now it does not have “hidden meaning” that only a perlguts person would be expected to know.) Now you are declaring, both to Perl and to the future programmers, what you mean. Importantly, you are now doing it in a way that will generate syntax-errors in older Perls. (You also presumably can now “bracket” specific sections of code with use/no blocks.) The programmer gets a “heads up!!” alert to be on the lookout for “specifically, this New Thing,” and older compilers will fall on their face, flagging that particular line of source with its immediately-obvious import as their nose hits the pavement.