package Foo;
our $var = "Hello";
sub func { print $var, "\n" }
package Bar;
print $var, "\n"; # Prints "Hello"
func(); # Error: Undefined subroutine &Bar::func called
####
{
package Foo;
our $var = "Hello";
sub func { print $var, "\n" }
}
{
package Bar;
print $Foo::var, "\n";
Foo::func();
}
# Or, as of Perl 5.14:
package Foo {
...
}
package Bar {
...
}
####
package Foo {
our $var = "Hello";
sub func { print $var, "\n" }
}
package Bar {
use Symbol::Alias '$Foo::var' => 'var', 'Foo::func' => 'func';
print $var, "\n";
func();
}