summaryrefslogtreecommitdiff
path: root/lib/strict.pm
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-06-06 22:50:37 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-06-06 22:50:37 +0000
commitd66e832e9fab8b58efc050fa203ce5c595e586b3 (patch)
tree98750c8f92b7e5ff74759fc7b3e445e2a31c6c9e /lib/strict.pm
parentaca48073ac7358bb96c129b16622926dc762da2f (diff)
downloadperl-d66e832e9fab8b58efc050fa203ce5c595e586b3.tar.gz
Complement to change #19698 :
add also this information (=> and curly braces doesn't quote compound identifiers) to the strict manpage. As an experiment in documentation, add a "HISTORY" section to the strict manpage. p4raw-link: @19698 on //depot/perl: 695ff5bd5c58ec45a757946fd60f1420702ba4b6 p4raw-id: //depot/perl@19701
Diffstat (limited to 'lib/strict.pm')
-rw-r--r--lib/strict.pm14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/strict.pm b/lib/strict.pm
index 591fa396a4..1a9a25904a 100644
--- a/lib/strict.pm
+++ b/lib/strict.pm
@@ -85,7 +85,7 @@ is allowed so that C<goto &$AUTOLOAD> would not break under stricture.
=item C<strict vars>
This generates a compile-time error if you access a variable that wasn't
-declared via "our" or C<use vars>,
+declared via C<our> or C<use vars>,
localized via C<my()>, or wasn't fully qualified. Because this is to avoid
variable suicide problems and subtle dynamic scoping issues, a merely
local() variable isn't good enough. See L<perlfunc/my> and
@@ -110,18 +110,22 @@ 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
-appears in curly braces or on the left hand side of the "=E<gt>" symbol.
-
+is a simple identifier (no colons) and that it appears in curly braces or
+on the left hand side of the C<< => >> symbol.
use strict 'subs';
$SIG{PIPE} = Plumber; # blows up
$SIG{PIPE} = "Plumber"; # just fine: bareword in curlies always ok
$SIG{PIPE} = \&Plumber; # preferred form
-
-
=back
See L<perlmodlib/Pragmatic Modules>.
+=head1 HISTORY
+
+C<strict 'subs'>, with perl 5.6.1, erroneously permitted to use an unquoted
+compound identifier (e.g. C<Foo::Bar>) as a hash key (before C<< => >> or
+inside curlies), but without forcing it always to a literal string.
+
=cut