This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
document the unary minus exception for barewords
authorTony Cook <tony@develop-help.com>
Mon, 8 Jun 2020 04:17:23 +0000 (14:17 +1000)
committerKarl Williamson <khw@cpan.org>
Thu, 30 Jul 2020 21:28:39 +0000 (15:28 -0600)
This exception is deliberate, code in op.c explicitly prevents this
from producing an error under use strict.

lib/strict.pm

index 923c921..71713a2 100644 (file)
@@ -1,6 +1,6 @@
 package strict;
 
-$strict::VERSION = "1.11";
+$strict::VERSION = "1.12";
 
 my ( %bitmask, %explicit_bitmask );
 
@@ -154,8 +154,9 @@ exempted from this check.
 
 This disables the poetry optimization, generating a compile-time error if
 you try to use a bareword identifier that's not a subroutine, unless it
-is a simple identifier (no colons) and that it appears in curly braces or
-on the left hand side of the C<< => >> symbol.
+is a simple identifier (no colons) and that it appears in curly braces,
+on the left hand side of the C<< => >> symbol, or has the unary minus
+operator applied to it.
 
     use strict 'subs';
     $SIG{PIPE} = Plumber;   # blows up