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(); }