155745691SmillertCheck interaction of $^W and lexical 255745691Smillert 355745691Smillert__END__ 455745691Smillert 555745691Smillert# Check interaction of $^W and use warnings 655745691Smillertsub fred { 755745691Smillert use warnings ; 855745691Smillert my $b ; 955745691Smillert chop $b ; 1055745691Smillert} 1155745691Smillert{ local $^W = 0 ; 1255745691Smillert fred() ; 1355745691Smillert} 1455745691Smillert 1555745691SmillertEXPECT 16*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 1755745691Smillert######## 1855745691Smillert 1955745691Smillert# Check interaction of $^W and use warnings 2055745691Smillertsub fred { 2155745691Smillert use warnings ; 2255745691Smillert my $b ; 2355745691Smillert chop $b ; 2455745691Smillert} 2555745691Smillert{ $^W = 0 ; 2655745691Smillert fred() ; 2755745691Smillert} 2855745691Smillert 2955745691SmillertEXPECT 30*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 3155745691Smillert######## 3255745691Smillert 3355745691Smillert# Check interaction of $^W and use warnings 3455745691Smillertsub fred { 3555745691Smillert no warnings ; 3655745691Smillert my $b ; 3755745691Smillert chop $b ; 3855745691Smillert} 3955745691Smillert{ local $^W = 1 ; 4055745691Smillert fred() ; 4155745691Smillert} 4255745691Smillert 4355745691SmillertEXPECT 4455745691Smillert 4555745691Smillert######## 4655745691Smillert 4755745691Smillert# Check interaction of $^W and use warnings 4855745691Smillertsub fred { 4955745691Smillert no warnings ; 5055745691Smillert my $b ; 5155745691Smillert chop $b ; 5255745691Smillert} 5355745691Smillert{ $^W = 1 ; 5455745691Smillert fred() ; 5555745691Smillert} 5655745691Smillert 5755745691SmillertEXPECT 5855745691Smillert 5955745691Smillert######## 6055745691Smillert 6155745691Smillert# Check interaction of $^W and use warnings 6255745691Smillertuse warnings ; 6355745691Smillert$^W = 1 ; 6455745691Smillertmy $b ; 6555745691Smillertchop $b ; 6655745691SmillertEXPECT 67*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 6855745691Smillert######## 6955745691Smillert 7055745691Smillert# Check interaction of $^W and use warnings 7155745691Smillert$^W = 1 ; 7255745691Smillertuse warnings ; 7355745691Smillertmy $b ; 7455745691Smillertchop $b ; 7555745691SmillertEXPECT 76*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 7755745691Smillert######## 7855745691Smillert 7955745691Smillert# Check interaction of $^W and use warnings 8055745691Smillert$^W = 1 ; 8155745691Smillertno warnings ; 8255745691Smillertmy $b ; 8355745691Smillertchop $b ; 8455745691SmillertEXPECT 8555745691Smillert 8655745691Smillert######## 8755745691Smillert 8855745691Smillert# Check interaction of $^W and use warnings 8955745691Smillertno warnings ; 9055745691Smillert$^W = 1 ; 9155745691Smillertmy $b ; 9255745691Smillertchop $b ; 9355745691SmillertEXPECT 9455745691Smillert 9555745691Smillert######## 9655745691Smillert-w 9755745691Smillert# Check interaction of $^W and use warnings 9855745691Smillertno warnings ; 9955745691Smillertmy $b ; 10055745691Smillertchop $b ; 10155745691SmillertEXPECT 10255745691Smillert 10355745691Smillert######## 10455745691Smillert-w 10555745691Smillert# Check interaction of $^W and use warnings 10655745691Smillertuse warnings ; 10755745691Smillertmy $b ; 10855745691Smillertchop $b ; 10955745691SmillertEXPECT 110*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 5. 11155745691Smillert######## 11255745691Smillert 11355745691Smillert# Check interaction of $^W and use warnings 11455745691Smillertsub fred { 11555745691Smillert use warnings ; 11655745691Smillert my $b ; 11755745691Smillert chop $b ; 11855745691Smillert} 11955745691SmillertBEGIN { $^W = 0 } 12055745691Smillertfred() ; 12155745691SmillertEXPECT 122*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 12355745691Smillert######## 12455745691Smillert 12555745691Smillert# Check interaction of $^W and use warnings 12655745691Smillertsub fred { 12755745691Smillert no warnings ; 12855745691Smillert my $b ; 12955745691Smillert chop $b ; 13055745691Smillert} 13155745691SmillertBEGIN { $^W = 1 } 13255745691Smillertfred() ; 13355745691Smillert 13455745691SmillertEXPECT 13555745691Smillert 13655745691Smillert######## 13755745691Smillert 13855745691Smillert# Check interaction of $^W and use warnings 13955745691Smillertuse warnings ; 14055745691SmillertBEGIN { $^W = 1 } 14155745691Smillertmy $b ; 14255745691Smillertchop $b ; 14355745691SmillertEXPECT 144*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 14555745691Smillert######## 14655745691Smillert 14755745691Smillert# Check interaction of $^W and use warnings 14855745691SmillertBEGIN { $^W = 1 } 14955745691Smillertuse warnings ; 15055745691Smillertmy $b ; 15155745691Smillertchop $b ; 15255745691SmillertEXPECT 153*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 6. 15455745691Smillert######## 15555745691Smillert 15655745691Smillert# Check interaction of $^W and use warnings 15755745691SmillertBEGIN { $^W = 1 } 15855745691Smillertno warnings ; 15955745691Smillertmy $b ; 16055745691Smillertchop $b ; 16155745691SmillertEXPECT 16255745691Smillert 16355745691Smillert######## 16455745691Smillert 16555745691Smillert# Check interaction of $^W and use warnings 16655745691Smillertno warnings ; 16755745691SmillertBEGIN { $^W = 1 } 16855745691Smillertmy $b ; 16955745691Smillertchop $b ; 17055745691SmillertEXPECT 17155745691Smillert 17255745691Smillert######## 17355745691Smillert 17455745691Smillert# Check interaction of $^W and use warnings 17555745691SmillertBEGIN { $^W = 1 } 17655745691Smillert{ 17755745691Smillert no warnings ; 17855745691Smillert my $b ; 17955745691Smillert chop $b ; 18055745691Smillert} 18155745691Smillertmy $b ; 18255745691Smillertchop $b ; 18355745691SmillertEXPECT 184*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 10. 18555745691Smillert######## 18655745691Smillert 18755745691Smillert# Check interaction of $^W and use warnings 18855745691SmillertBEGIN { $^W = 0 } 18955745691Smillert{ 19055745691Smillert use warnings ; 19155745691Smillert my $b ; 19255745691Smillert chop $b ; 19355745691Smillert} 19455745691Smillertmy $b ; 19555745691Smillertchop $b ; 19655745691SmillertEXPECT 197*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 7. 19855745691Smillert######## 19955745691Smillert 20055745691Smillert# Check scope of pragma with eval 20155745691SmillertBEGIN { $^W = 1 } 20255745691Smillert{ 20355745691Smillert no warnings ; 20455745691Smillert eval ' 20555745691Smillert my $b ; chop $b ; 20655745691Smillert '; print STDERR $@ ; 20755745691Smillert my $b ; chop $b ; 20855745691Smillert} 20955745691SmillertEXPECT 21055745691Smillert 21155745691Smillert######## 21255745691Smillert 21355745691Smillert# Check scope of pragma with eval 21455745691SmillertBEGIN { $^W = 1 } 21555745691Smillertuse warnings; 21655745691Smillert{ 21755745691Smillert no warnings ; 21855745691Smillert eval q[ 21955745691Smillert use warnings 'uninitialized' ; 22055745691Smillert my $b ; chop $b ; 22155745691Smillert ]; print STDERR $@; 22255745691Smillert my $b ; chop $b ; 22355745691Smillert} 22455745691SmillertEXPECT 225*850e2753SmillertUse of uninitialized value $b in scalar chop at (eval 1) line 3. 22655745691Smillert######## 22755745691Smillert 22855745691Smillert# Check scope of pragma with eval 22955745691SmillertBEGIN { $^W = 0 } 23055745691Smillert{ 23155745691Smillert use warnings 'uninitialized' ; 23255745691Smillert eval ' 23355745691Smillert my $b ; chop $b ; 23455745691Smillert '; print STDERR $@ ; 23555745691Smillert my $b ; chop $b ; 23655745691Smillert} 23755745691SmillertEXPECT 238*850e2753SmillertUse of uninitialized value $b in scalar chop at (eval 1) line 2. 239*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 9. 24055745691Smillert######## 24155745691Smillert 24255745691Smillert# Check scope of pragma with eval 24355745691SmillertBEGIN { $^W = 0 } 24455745691Smillert{ 24555745691Smillert use warnings 'uninitialized' ; 24655745691Smillert eval ' 24755745691Smillert no warnings ; 24855745691Smillert my $b ; chop $b ; 24955745691Smillert '; print STDERR $@ ; 25055745691Smillert my $b ; chop $b ; 25155745691Smillert} 25255745691SmillertEXPECT 253*850e2753SmillertUse of uninitialized value $b in scalar chop at - line 10. 25455745691Smillert######## 25555745691Smillert 25655745691Smillert# Check scope of pragma with eval 25755745691SmillertBEGIN { $^W = 1 } 25855745691Smillert{ 25955745691Smillert no warnings ; 26055745691Smillert eval ' 26155745691Smillert my $a =+ 1 ; 26255745691Smillert '; print STDERR $@ ; 26355745691Smillert my $a =+ 1 ; 26455745691Smillert} 26555745691SmillertEXPECT 26655745691Smillert 267