use warnings;
my $s = "s1";
print "define var: $s\n";
&test;
my $s = "s1-2nd";
print "define var: $s\n";
&test;
sub test{
print "sub: $s\n";
}
####
"my" variable $s masks earlier declaration in same scope at test.pl line 8.
define var: s1
Use of uninitialized value $s in concatenation (.) or string at test.pl line 13.
sub:
define var: s1-2nd
sub: s1-2nd
####
use warnings;
my $s = "s1";
print "define var: $s\n";
&test;
sub test{
print "sub: $s\n";
}
my $s = "s1-2nd";
print "define var: $s\n";
&test;
####
"my" variable $s masks earlier declaration in same scope at test.pl line 12.
define var: s1
sub: s1
define var: s1-2nd
sub: s1
####
define var: s1
sub: s1
define var: s1-2nd
sub: s1-2nd