in reply to examining other package's variable without 'use'

cannot say 'use PackageA' etc in the package where this routine resides - since the library routine might get called from a number of other packages which are unknown at the compile time.

The usual idiom for pulling in a package at runtime is

eval { require $package }; die "$@" if $@;
perldoc -f require will give you more information.

I misread the question. hardburn gives a good answer below.