Check lint __END__ -W # lint: check compile time $^W is zapped BEGIN { $^W = 0 ;} $a = $b = 1 ; $a = 1 if $a EQ $b ; close STDIN ; print STDIN "abc" ; EXPECT Use of EQ is deprecated at - line 5. print() on closed filehandle STDIN at - line 6. ######## -W # lint: check runtime $^W is zapped $^W = 0 ; close STDIN ; print STDIN "abc" ; EXPECT print() on closed filehandle STDIN at - line 4. ######## -W # lint: check runtime $^W is zapped { $^W = 0 ; close STDIN ; print STDIN "abc" ; } EXPECT print() on closed filehandle STDIN at - line 5. ######## -W # lint: check "no warnings" is zapped no warnings ; $a = $b = 1 ; $a = 1 if $a EQ $b ; close STDIN ; print STDIN "abc" ; EXPECT Use of EQ is deprecated at - line 5. print() on closed filehandle STDIN at - line 6. ######## -W # lint: check "no warnings" is zapped { no warnings ; close STDIN ; print STDIN "abc" ; } EXPECT print() on closed filehandle STDIN at - line 5. ######## -Ww # lint: check combination of -w and -W { $^W = 0 ; close STDIN ; print STDIN "abc" ; } EXPECT print() on closed filehandle STDIN at - line 5. ######## -W --FILE-- abc.pm no warnings 'deprecated' ; my ($a, $b) = (0,0); 1 if $a EQ $b ; 1; --FILE-- no warnings 'uninitialized' ; use abc; my $a ; chop $a ; EXPECT Use of EQ is deprecated at abc.pm line 3. Use of uninitialized value in scalar chop at - line 3. ######## -W --FILE-- abc no warnings 'deprecated' ; my ($a, $b) = (0,0); 1 if $a EQ $b ; 1; --FILE-- no warnings 'uninitialized' ; require "./abc"; my $a ; chop $a ; EXPECT Use of EQ is deprecated at ./abc line 3. Use of uninitialized value in scalar chop at - line 3. ######## -W --FILE-- abc.pm BEGIN {$^W = 0} my ($a, $b) = (0,0); 1 if $a EQ $b ; 1; --FILE-- $^W = 0 ; use abc; my $a ; chop $a ; EXPECT Use of EQ is deprecated at abc.pm line 3. Use of uninitialized value in scalar chop at - line 3. ######## -W --FILE-- abc BEGIN {$^W = 0} my ($a, $b) = (0,0); 1 if $a EQ $b ; 1; --FILE-- $^W = 0 ; require "./abc"; my $a ; chop $a ; EXPECT Use of EQ is deprecated at ./abc line 3. Use of uninitialized value in scalar chop at - line 3. ######## -W # Check scope of pragma with eval { no warnings ; eval ' my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT Use of uninitialized value in scalar chop at (eval 1) line 2. Use of uninitialized value in scalar chop at - line 8. ######## -W # Check scope of pragma with eval use warnings; { no warnings ; eval q[ use warnings 'uninitialized' ; my $b ; chop $b ; ]; print STDERR $@; my $b ; chop $b ; } EXPECT Use of uninitialized value in scalar chop at (eval 1) line 3. Use of uninitialized value in scalar chop at - line 10. ######## -W # Check scope of pragma with eval no warnings; { use warnings 'uninitialized' ; eval ' my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT Use of uninitialized value in scalar chop at (eval 1) line 2. Use of uninitialized value in scalar chop at - line 9. ######## -W # Check scope of pragma with eval no warnings; { use warnings 'uninitialized' ; eval ' no warnings ; my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT Use of uninitialized value in scalar chop at (eval 1) line 3. Use of uninitialized value in scalar chop at - line 10. ######## -W # Check scope of pragma with eval use warnings; { my $a = "1"; my $b = "2"; no warnings ; eval q[ use warnings 'deprecated' ; 1 if $a EQ $b ; ]; print STDERR $@; 1 if $a EQ $b ; } EXPECT Use of EQ is deprecated at - line 11. Use of EQ is deprecated at (eval 1) line 3. ######## -W # Check scope of pragma with eval no warnings; { my $a = "1"; my $b = "2"; use warnings 'deprecated' ; eval ' 1 if $a EQ $b ; '; print STDERR $@; 1 if $a EQ $b ; } EXPECT Use of EQ is deprecated at - line 10. Use of EQ is deprecated at (eval 1) line 2. ######## -W # Check scope of pragma with eval no warnings; { my $a = "1"; my $b = "2"; use warnings 'deprecated' ; eval ' no warnings ; 1 if $a EQ $b ; '; print STDERR $@; 1 if $a EQ $b ; } EXPECT Use of EQ is deprecated at - line 11. Use of EQ is deprecated at (eval 1) line 3.