This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
warnings.pm - Clarify scoping of $^W examples
authorDan Book <grinnz@grinnz.com>
Wed, 1 Apr 2020 17:04:35 +0000 (13:04 -0400)
committerKarl Williamson <khw@cpan.org>
Wed, 1 Apr 2020 20:06:34 +0000 (14:06 -0600)
lib/warnings.pm
regen/warnings.pl

index d434dcd..a70c25f 100644 (file)
@@ -5,7 +5,7 @@
 
 package warnings;
 
-our $VERSION = "1.46";
+our $VERSION = "1.47";
 
 # Verify that we're called correctly so that warnings will work.
 # Can't use Carp, since Carp uses us!
@@ -689,6 +689,10 @@ disable compile-time warnings you need to rewrite the code like this:
         my $b; chop $b;
      }
 
+And note that unlike the first example, this will permanently set C<$^W>
+since it cannot both run during compile-time and be localized to a
+run-time block.
+
 The other big problem with C<$^W> is the way you can inadvertently
 change the warning setting in unexpected places in your code.  For example,
 when the code below is run (without the B<-w> flag), the second call
index 6000c75..9fbf607 100644 (file)
@@ -16,7 +16,7 @@
 #
 # This script is normally invoked from regen.pl.
 
-$VERSION = '1.46';
+$VERSION = '1.47';
 
 BEGIN {
     require './regen/regen_lib.pl';
@@ -1012,6 +1012,10 @@ disable compile-time warnings you need to rewrite the code like this:
         my $b; chop $b;
      }
 
+And note that unlike the first example, this will permanently set C<$^W>
+since it cannot both run during compile-time and be localized to a
+run-time block.
+
 The other big problem with C<$^W> is the way you can inadvertently
 change the warning setting in unexpected places in your code.  For example,
 when the code below is run (without the B<-w> flag), the second call