pad.c AOK
"my" variable %s masks earlier declaration in same scope
my $x;
my $x ;
Variable "%s" may be unavailable
sub x {
my $x;
sub y {
$x
}
}
Variable "%s" will not stay shared
sub x {
my $x;
sub y {
sub { $x }
}
}
"our" variable %s redeclared (Did you mean "local" instead of "our"?)
our $x;
{
our $x;
}
%s never introduced [pad_leavemy] TODO
__END__
# pad.c
use warnings 'misc' ;
my $x ;
my $x ;
my $y = my $y ;
no warnings 'misc' ;
my $x ;
my $y ;
EXPECT
"my" variable $x masks earlier declaration in same scope at - line 4.
"my" variable $y masks earlier declaration in same statement at - line 5.
########
# pad.c
use warnings 'closure' ;
sub x {
my $x;
sub y {
$x
}
}
EXPECT
Variable "$x" will not stay shared at - line 7.
########
# pad.c
no warnings 'closure' ;
sub x {
my $x;
sub y {
$x
}
}
EXPECT
########
# pad.c
use warnings 'closure' ;
sub x {
our $x;
sub y {
$x
}
}
EXPECT
########
# pad.c
use warnings 'closure' ;
sub x {
my $x;
sub y {
sub { $x }
}
}
EXPECT
Variable "$x" may be unavailable at - line 6.
########
# pad.c
no warnings 'closure' ;
sub x {
my $x;
sub y {
sub { $x }
}
}
EXPECT
########
use warnings 'misc' ;
our $x;
{
our $x;
}
EXPECT
"our" variable $x redeclared at - line 4.
(Did you mean "local" instead of "our"?)
########
# an our var being introduced should suppress errors about global syms
use strict;
use warnings;
our $x unless $x;
EXPECT