syntax anti-lint __END__ -X # nolint: check compile time $^W is zapped BEGIN { $^W = 1 ;} $a = $b = 1 ; $a =+ 1 ; close STDIN ; print STDIN "abc" ; EXPECT ######## -X # nolint: check runtime $^W is zapped $^W = 1 ; close STDIN ; print STDIN "abc" ; EXPECT ######## -X # nolint: check runtime $^W is zapped { $^W = 1 ; close STDIN ; print STDIN "abc" ; } EXPECT ######## -X # nolint: check "no warnings" is zapped use warnings ; $a = $b = 1 ; $a =+ 1 ; close STDIN ; print STDIN "abc" ; EXPECT ######## -X # nolint: check "no warnings" is zapped { use warnings ; close STDIN ; print STDIN "abc" ; } EXPECT ######## -Xw # nolint: check combination of -w and -X { $^W = 1 ; close STDIN ; print STDIN "abc" ; } EXPECT ######## -X --FILE-- abc.pm use warnings 'syntax' ; my $a = 0; $a =+ 1 ; 1; --FILE-- use warnings 'uninitialized' ; use abc; my $a ; chop $a ; EXPECT ######## -X --FILE-- abc use warnings 'syntax' ; my $a = 0; $a =+ 1 ; 1; --FILE-- use warnings 'uninitialized' ; require "./abc"; my $a ; chop $a ; EXPECT ######## -X --FILE-- abc.pm BEGIN {$^W = 1} my ($a, $b) = (0,0); $a =+ 1 ; 1; --FILE-- $^W = 1 ; use abc; my $a ; chop $a ; EXPECT ######## -X --FILE-- abc BEGIN {$^W = 1} my ($a, $b) = (0,0); $a =+ 1 ; 1; --FILE-- $^W = 1 ; require "./abc"; my $a ; chop $a ; EXPECT ######## -X # Check scope of pragma with eval use warnings; { no warnings ; eval ' my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT ######## -X # 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 ######## -X # Check scope of pragma with eval no warnings; { use warnings 'uninitialized' ; eval ' my $b ; chop $b ; '; print STDERR $@ ; my $b ; chop $b ; } EXPECT ######## -X # 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 ######## -X # Check scope of pragma with eval use warnings; { no warnings ; eval ' my $a =+ 1 ; '; print STDERR $@ ; my $a =+ 1 ; } EXPECT ######## -X # Check scope of pragma with eval use warnings; { no warnings ; eval q[ use warnings 'syntax' ; my $a =+ 1 ; ]; print STDERR $@; my $a =+ 1 ; } EXPECT ######## -X # Check scope of pragma with eval no warnings; { use warnings 'syntax' ; eval ' my $a =+ 1 ; '; print STDERR $@; my $a =+ 1 ; } EXPECT ######## -X # Check scope of pragma with eval no warnings; { use warnings 'syntax' ; eval ' no warnings ; my $a =+ 1 ; '; print STDERR $@; my $a =+ 1 ; } EXPECT