1 pad.c AOK 2 3 "my" variable %s masks earlier declaration in same scope 4 my $x; 5 my $x ; 6 7 Variable "%s" may be unavailable 8 sub x { 9 my $x; 10 sub y { 11 $x 12 } 13 } 14 15 Variable "%s" will not stay shared 16 sub x { 17 my $x; 18 sub y { 19 sub { $x } 20 } 21 } 22 "our" variable %s redeclared (Did you mean "local" instead of "our"?) 23 our $x; 24 { 25 our $x; 26 } 27 28 %s never introduced [pad_leavemy] TODO 29 30__END__ 31# pad.c 32use warnings 'misc' ; 33my $x ; 34my $x ; 35my $y = my $y ; 36no warnings 'misc' ; 37my $x ; 38my $y ; 39EXPECT 40"my" variable $x masks earlier declaration in same scope at - line 4. 41"my" variable $y masks earlier declaration in same statement at - line 5. 42######## 43# pad.c 44use warnings 'closure' ; 45sub x { 46 my $x; 47 sub y { 48 $x 49 } 50 } 51EXPECT 52Variable "$x" will not stay shared at - line 7. 53######## 54# pad.c 55no warnings 'closure' ; 56sub x { 57 my $x; 58 sub y { 59 $x 60 } 61 } 62EXPECT 63 64######## 65# pad.c 66use warnings 'closure' ; 67sub x { 68 our $x; 69 sub y { 70 $x 71 } 72 } 73EXPECT 74 75######## 76# pad.c 77use warnings 'closure' ; 78sub x { 79 my $x; 80 sub y { 81 sub { $x } 82 } 83 } 84EXPECT 85Variable "$x" may be unavailable at - line 6. 86######## 87# pad.c 88no warnings 'closure' ; 89sub x { 90 my $x; 91 sub y { 92 sub { $x } 93 } 94 } 95EXPECT 96 97######## 98use warnings 'misc' ; 99our $x; 100{ 101 our $x; 102} 103EXPECT 104"our" variable $x redeclared at - line 4. 105 (Did you mean "local" instead of "our"?) 106######## 107# an our var being introduced should suppress errors about global syms 108use strict; 109use warnings; 110our $x unless $x; 111EXPECT 112