in reply to variables in modules

You can provide an initialization routine in b.pm to set your variables:
# -- file b.pm my ($var1, $var2, $var3); sub initialize_variables { $var1 = shift; $var2 = shift; ... } sub routine { # use $var1, $var2, etc. } 1;