in reply to variable substition for packages

Like this:
$a = ${ $module . '::countries' };
But note that you'll need to turn off strict references for this to work. That should tell you that it's probably a bad idea, right?

But if you're doing object-oriented programming, you can use package names as "objects", like so:
$a = $module->countries;
and you can defined sub test::countries to return the contents of that variable.

jdporter
The 6th Rule of Perl Club is -- There is no Rule #6.