in reply to variable substition for packages

How about an eval?
my $a = eval "\$${module}::countries";
(By the way, are you sure you want to do this? There may be better ways to do what you need than symbolic expansions that refer to global variables.)

Update:For example, Avoid Symbolic References talks about how you can often use a hash instead.