Change 19701 by [EMAIL PROTECTED] on 2003/06/06 22:50:37 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.
Affected files ... ... //depot/perl/lib/strict.pm#19 edit Differences ... ==== //depot/perl/lib/strict.pm#19 (text) ==== Index: perl/lib/strict.pm --- perl/lib/strict.pm#18~19427~ Mon May 5 09:14:09 2003 +++ perl/lib/strict.pm Fri Jun 6 15:50:37 2003 @@ -85,7 +85,7 @@ =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 @@ 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 End of Patch.