1*55745691Smillertsyntax anti-lint 2*55745691Smillert 3*55745691Smillert__END__ 4*55745691Smillert-X 5*55745691Smillert# nolint: check compile time $^W is zapped 6*55745691SmillertBEGIN { $^W = 1 ;} 7*55745691Smillert$a = $b = 1 ; 8*55745691Smillert$a =+ 1 ; 9*55745691Smillertclose STDIN ; print STDIN "abc" ; 10*55745691SmillertEXPECT 11*55745691Smillert######## 12*55745691Smillert-X 13*55745691Smillert# nolint: check runtime $^W is zapped 14*55745691Smillert$^W = 1 ; 15*55745691Smillertclose STDIN ; print STDIN "abc" ; 16*55745691SmillertEXPECT 17*55745691Smillert######## 18*55745691Smillert-X 19*55745691Smillert# nolint: check runtime $^W is zapped 20*55745691Smillert{ 21*55745691Smillert $^W = 1 ; 22*55745691Smillert close STDIN ; print STDIN "abc" ; 23*55745691Smillert} 24*55745691SmillertEXPECT 25*55745691Smillert######## 26*55745691Smillert-X 27*55745691Smillert# nolint: check "no warnings" is zapped 28*55745691Smillertuse warnings ; 29*55745691Smillert$a = $b = 1 ; 30*55745691Smillert$a =+ 1 ; 31*55745691Smillertclose STDIN ; print STDIN "abc" ; 32*55745691SmillertEXPECT 33*55745691Smillert######## 34*55745691Smillert-X 35*55745691Smillert# nolint: check "no warnings" is zapped 36*55745691Smillert{ 37*55745691Smillert use warnings ; 38*55745691Smillert close STDIN ; print STDIN "abc" ; 39*55745691Smillert} 40*55745691SmillertEXPECT 41*55745691Smillert######## 42*55745691Smillert-Xw 43*55745691Smillert# nolint: check combination of -w and -X 44*55745691Smillert{ 45*55745691Smillert $^W = 1 ; 46*55745691Smillert close STDIN ; print STDIN "abc" ; 47*55745691Smillert} 48*55745691SmillertEXPECT 49*55745691Smillert######## 50*55745691Smillert-X 51*55745691Smillert--FILE-- abc.pm 52*55745691Smillertuse warnings 'syntax' ; 53*55745691Smillertmy $a = 0; 54*55745691Smillert$a =+ 1 ; 55*55745691Smillert1; 56*55745691Smillert--FILE-- 57*55745691Smillertuse warnings 'uninitialized' ; 58*55745691Smillertuse abc; 59*55745691Smillertmy $a ; chop $a ; 60*55745691SmillertEXPECT 61*55745691Smillert######## 62*55745691Smillert-X 63*55745691Smillert--FILE-- abc 64*55745691Smillertuse warnings 'syntax' ; 65*55745691Smillertmy $a = 0; 66*55745691Smillert$a =+ 1 ; 67*55745691Smillert1; 68*55745691Smillert--FILE-- 69*55745691Smillertuse warnings 'uninitialized' ; 70*55745691Smillertrequire "./abc"; 71*55745691Smillertmy $a ; chop $a ; 72*55745691SmillertEXPECT 73*55745691Smillert######## 74*55745691Smillert-X 75*55745691Smillert--FILE-- abc.pm 76*55745691SmillertBEGIN {$^W = 1} 77*55745691Smillertmy ($a, $b) = (0,0); 78*55745691Smillert$a =+ 1 ; 79*55745691Smillert1; 80*55745691Smillert--FILE-- 81*55745691Smillert$^W = 1 ; 82*55745691Smillertuse abc; 83*55745691Smillertmy $a ; chop $a ; 84*55745691SmillertEXPECT 85*55745691Smillert######## 86*55745691Smillert-X 87*55745691Smillert--FILE-- abc 88*55745691SmillertBEGIN {$^W = 1} 89*55745691Smillertmy ($a, $b) = (0,0); 90*55745691Smillert$a =+ 1 ; 91*55745691Smillert1; 92*55745691Smillert--FILE-- 93*55745691Smillert$^W = 1 ; 94*55745691Smillertrequire "./abc"; 95*55745691Smillertmy $a ; chop $a ; 96*55745691SmillertEXPECT 97*55745691Smillert######## 98*55745691Smillert-X 99*55745691Smillert# Check scope of pragma with eval 100*55745691Smillertuse warnings; 101*55745691Smillert{ 102*55745691Smillert no warnings ; 103*55745691Smillert eval ' 104*55745691Smillert my $b ; chop $b ; 105*55745691Smillert '; print STDERR $@ ; 106*55745691Smillert my $b ; chop $b ; 107*55745691Smillert} 108*55745691SmillertEXPECT 109*55745691Smillert 110*55745691Smillert######## 111*55745691Smillert-X 112*55745691Smillert# Check scope of pragma with eval 113*55745691Smillertuse warnings; 114*55745691Smillert{ 115*55745691Smillert no warnings ; 116*55745691Smillert eval q[ 117*55745691Smillert use warnings 'uninitialized' ; 118*55745691Smillert my $b ; chop $b ; 119*55745691Smillert ]; print STDERR $@; 120*55745691Smillert my $b ; chop $b ; 121*55745691Smillert} 122*55745691SmillertEXPECT 123*55745691Smillert 124*55745691Smillert######## 125*55745691Smillert-X 126*55745691Smillert# Check scope of pragma with eval 127*55745691Smillertno warnings; 128*55745691Smillert{ 129*55745691Smillert use warnings 'uninitialized' ; 130*55745691Smillert eval ' 131*55745691Smillert my $b ; chop $b ; 132*55745691Smillert '; print STDERR $@ ; 133*55745691Smillert my $b ; chop $b ; 134*55745691Smillert} 135*55745691SmillertEXPECT 136*55745691Smillert 137*55745691Smillert######## 138*55745691Smillert-X 139*55745691Smillert# Check scope of pragma with eval 140*55745691Smillertno warnings; 141*55745691Smillert{ 142*55745691Smillert use warnings 'uninitialized' ; 143*55745691Smillert eval ' 144*55745691Smillert no warnings ; 145*55745691Smillert my $b ; chop $b ; 146*55745691Smillert '; print STDERR $@ ; 147*55745691Smillert my $b ; chop $b ; 148*55745691Smillert} 149*55745691SmillertEXPECT 150*55745691Smillert 151*55745691Smillert######## 152*55745691Smillert-X 153*55745691Smillert# Check scope of pragma with eval 154*55745691Smillertuse warnings; 155*55745691Smillert{ 156*55745691Smillert no warnings ; 157*55745691Smillert eval ' 158*55745691Smillert my $a =+ 1 ; 159*55745691Smillert '; print STDERR $@ ; 160*55745691Smillert my $a =+ 1 ; 161*55745691Smillert} 162*55745691SmillertEXPECT 163*55745691Smillert 164*55745691Smillert######## 165*55745691Smillert-X 166*55745691Smillert# Check scope of pragma with eval 167*55745691Smillertuse warnings; 168*55745691Smillert{ 169*55745691Smillert no warnings ; 170*55745691Smillert eval q[ 171*55745691Smillert use warnings 'syntax' ; 172*55745691Smillert my $a =+ 1 ; 173*55745691Smillert ]; print STDERR $@; 174*55745691Smillert my $a =+ 1 ; 175*55745691Smillert} 176*55745691SmillertEXPECT 177*55745691Smillert 178*55745691Smillert######## 179*55745691Smillert-X 180*55745691Smillert# Check scope of pragma with eval 181*55745691Smillertno warnings; 182*55745691Smillert{ 183*55745691Smillert use warnings 'syntax' ; 184*55745691Smillert eval ' 185*55745691Smillert my $a =+ 1 ; 186*55745691Smillert '; print STDERR $@; 187*55745691Smillert my $a =+ 1 ; 188*55745691Smillert} 189*55745691SmillertEXPECT 190*55745691Smillert 191*55745691Smillert######## 192*55745691Smillert-X 193*55745691Smillert# Check scope of pragma with eval 194*55745691Smillertno warnings; 195*55745691Smillert{ 196*55745691Smillert use warnings 'syntax' ; 197*55745691Smillert eval ' 198*55745691Smillert no warnings ; 199*55745691Smillert my $a =+ 1 ; 200*55745691Smillert '; print STDERR $@; 201*55745691Smillert my $a =+ 1 ; 202*55745691Smillert} 203*55745691SmillertEXPECT 204*55745691Smillert 205