package Hunting::Snark; use Bellman qw(foo bar); # Bellman's exported symbols go into namespace Hunting::Snark # hence &Hunting::Snark::foo is aliased to &Bellman::foo package Boojum; foo(); # is an undefined subroutine. There is no &Boojum::foo #### ... package Boojum; use Bellman qw(foo bar); foo(); # &Boojum::foo is now defined. aliased to &Bellman::foo