"my" variable $var masks earlier declaration in same scope at E:\aa\packtest.pl line 16.
"my" variable $var masks earlier declaration in same scope at E:\aa\packtest.pl line 29.
Use of uninitialized value in concatenation (.) or string at E:\aa\packtest.pl line 32.
Use of uninitialized value in concatenation (.) or string at E:\aa\packtest.pl line 43.
Use of uninitialized value in concatenation (.) or string at E:\aa\packtest.pl line 22.
####
package aaa;
#{
use strict;
use warnings 'all';
my $var = 'first var';
sub do_a {
print "In 'aaa' var is set to '$var'\n";
}
#}
package main;
use strict;
use warnings 'all';
my $var;
aaa::do_a();
bbb::do_b();
ccc::do_c();
print "In 'main' var is set to '$var'\n";
package bbb;
#{
use strict;
use warnings 'all';
my $var = 'second time for var';
sub do_b {
print "In 'bbb' var is set to '$var'\n";
}
#}
package ccc;
#{
use strict;
use warnings 'all';
sub do_c {
print "In 'ccc' var is set to '$var'\n";
}
#}
####
In 'aaa' var is set to 'first var'
In 'bbb' var is set to ''
In 'ccc' var is set to ''
In 'main' var is set to ''