Check interaction of $^W and lexical __END__ # Check interaction of $^W and use warnings sub fred { use warnings ; my $b ; chop $b ; } { local $^W = 0 ; fred() ; } EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings sub fred { use warnings ; my $b ; chop $b ; } { $^W = 0 ; fred() ; } EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings sub fred { no warnings ; my $b ; chop $b ; } { local $^W = 1 ; fred() ; } EXPECT ######## # Check interaction of $^W and use warnings sub fred { no warnings ; my $b ; chop $b ; } { $^W = 1 ; fred() ; } EXPECT ######## # Check interaction of $^W and use warnings use warnings ; $^W = 1 ; my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings $^W = 1 ; use warnings ; my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings $^W = 1 ; no warnings ; my $b ; chop $b ; EXPECT ######## # Check interaction of $^W and use warnings no warnings ; $^W = 1 ; my $b ; chop $b ; EXPECT ######## -w # Check interaction of $^W and use warnings no warnings ; my $b ; chop $b ; EXPECT ######## -w # Check interaction of $^W and use warnings use warnings ; my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 5. ######## # Check interaction of $^W and use warnings sub fred { use warnings ; my $b ; chop $b ; } BEGIN { $^W = 0 } fred() ; EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings sub fred { no warnings ; my $b ; chop $b ; } BEGIN { $^W = 1 } fred() ; EXPECT ######## # Check interaction of $^W and use warnings use warnings ; BEGIN { $^W = 1 } my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings BEGIN { $^W = 1 } use warnings ; my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 6. ######## # Check interaction of $^W and use warnings BEGIN { $^W = 1 } no warnings ; my $b ; chop $b ; EXPECT ######## # Check interaction of $^W and use warnings no warnings ; BEGIN { $^W = 1 } my $b ; chop $b ; EXPECT ######## # Check interaction of $^W and use warnings BEGIN { $^W = 1 } { no warnings ; my $b ; chop $b ; } my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 10. ######## # Check interaction of $^W and use warnings BEGIN { $^W = 0 } { use warnings ; my $b ; chop $b ; } my $b ; chop $b ; EXPECT Use of uninitialized value $b in scalar chop at - line 7. ######## # Check scope of pragma with eval BEGIN { $^W = 1 } { no warnings ; eval ' my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT ######## # Check scope of pragma with eval BEGIN { $^W = 1 } use warnings; { no warnings ; eval q[ use warnings 'uninitialized' ; my $b ; chop $b ; ]; print STDERR $@; my $b ; chop $b ; } EXPECT Use of uninitialized value $b in scalar chop at (eval 1) line 3. ######## # Check scope of pragma with eval BEGIN { $^W = 0 } { use warnings 'uninitialized' ; eval ' my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT Use of uninitialized value $b in scalar chop at (eval 1) line 2. Use of uninitialized value $b in scalar chop at - line 9. ######## # Check scope of pragma with eval BEGIN { $^W = 0 } { use warnings 'uninitialized' ; eval ' no warnings ; my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT Use of uninitialized value $b in scalar chop at - line 10. ######## # Check scope of pragma with eval BEGIN { $^W = 1 } { no warnings ; eval ' my $a =+ 1 ; '; print STDERR $@ ; my $a =+ 1 ; } EXPECT