Closed p5pRT closed 10 years ago
Really old Perl let you omit the @ on array names and the % on hash names in some spots. This has issued a deprecation warning since Perl 5.0\, and is no longer permitted.
-- "The surreality of the universe tends towards a maximum" -- Skud's Law "Never formulate a law or axiom that you're not prepared to live with the consequences of." -- Skud's Meta-Law
On Sat\, May 10\, 2014 at 1:15 AM\, Dagfinn Ilmari Mannsåker \perlbug\-followup@​perl\.org wrote:
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index c6f06dc..c9c8f79 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -45\,6 +45\,12 @@ XXX For a release on a stable branch\, this section aspires to be:
[ List each incompatible change as a =head2 entry ]
+=head2 Omitting % and @ on hash and array names is no longer permitted + +Really old Perl let you omit the @ on array names and the % on hash +names in some spots. This has issued a deprecation warning since Perl +5.0\, and is no longer permitted. + =head1 Deprecations
XXX Any deprecated features\, syntax\, modules etc. should be listed here. diff --git a/pod/perldiag.pod b/pod/perldiag.pod index f87ca9c..d606170 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -186\,11 +186\,6 @@ point and did not attempt to push this layer. If your program didn't explicitly request the failing operation\, it may be the result of the value of the environment variable PERLIO.
-=item Array @%s missing the @ in argument %d of %s() - -(D deprecated) Really old Perl let you omit the @ on array names in some -spots. This is now heavily deprecated. - =item A sequence of multiple spaces in a charnames alias definition is deprecated
(D deprecated) You defined a character name which had multiple space @@ -2171\,11 +2166\,6 @@ something: a template character or a ()-group. See L\<perlfunc/pack>. to have existed already\, but for some reason it didn't\, and had to be created on an emergency basis to prevent a core dump.
-=item Hash %%s missing the % in argument %d of %s() - -(D deprecated) Really old Perl let you omit the % on hash names in some -spots. This is now heavily deprecated. - =item %s has too many errors
(F) The parser has given up trying to parse the program after 10 errors.
Just a small comment on this in particular\, do we want to be removing things from perldiag in general\, for users that will just look up whatever the latest version of the docs is\, or is it better to include "before version so-and-so we used to ..."?
The RT System itself - Status changed from 'new' to 'open'
Ævar Arnfjörð Bjarmason \avarab@​gmail\.com writes:
Just a small comment on this in particular\, do we want to be removing things from perldiag in general\, for users that will just look up whatever the latest version of the docs is\, or is it better to include "before version so-and-so we used to ..."?
That is a valid concern. A quick 'git log -p pod/perldiag.pod' shows that the last entry removed outright was «Use of reserved word "%s" is deprecated»\, in 38248b9d on 2012-09-13\, 13 years after the actual warning was removed.
However\, the second-last one\, 186a5ba8 on 2012-06-13\, removed the entry for the fatal «Unable to create sub named "%s"» at the same time as the error messages itself was removed.
Similarly\, 0da72d5e\, on 2012-06-11\, which made omitting the space between a regex and an alphanumeric operator fatal\, the warnings were removed in the same commit as the new fatal error was added.
Your argument\, taken to its logical conclusion\, would mean keeping the old version of the message whenever a diagnostic changes wording\, which would be ridiculous. People should be looking at the documentation for the perl version they are actually using\, whether via perldoc(1) or online.
-- "I use RMS as a guide in the same way that a boat captain would use a lighthouse. It's good to know where it is\, but you generally don't want to find yourself in the same spot." - Tollef Fog Heen
* Dagfinn Ilmari Mannsåker \ilmari@​ilmari\.org [2014-05-12T08:58:58]
People should be looking at the documentation for the perl version they are actually using\, whether via perldoc(1) or online.
Totally agree.
-- rjbs
* Dagfinn Ilmari Mannsåker \perlbug\-followup@​perl\.org [2014-05-09T19:15:15]
Really old Perl let you omit the @ on array names and the % on hash names in some spots. This has issued a deprecation warning since Perl 5.0\, and is no longer permitted.
Sounds good for 5.21.
-- rjbs
On Fri May 09 16:15:14 2014\, ilmari wrote:
Really old Perl let you omit the @ on array names and the % on hash names in some spots. This has issued a deprecation warning since Perl 5.0\, and is no longer permitted.
Thanks\, applied as b5adc3e5c5c4fa9a0d3b230a000a7644b71a169f.
Tony
@tonycoz - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#121837 (status was 'resolved')
Searchable as RT121837$