--- Global.pm --- $GLOBAL = 'Bad bad global'; sub dumbproc { $GLOBAL = 'Still sucks'; } #### --- HideGlobals.pm --- package HideGlobals; use vars qw( @ISA @EXPORT_OK ); require Exporter; @ISA = qw( Exporter ); use Globals; @EXPORT_OK = qw( &hidden_dumbproc ); sub hidden_dumbproc { dumbproc(@_); return $GLOBAL; } 1; #### use HideGlobals qw( &hidden_dumbproc ); print $HideGlobals::GLOBAL, "\n"; print &hidden_dumbproc, "\n";