in reply to Exporting hash?

You're trying to export a lexical variable, %tables, which has file scope at most. You could instead make it a package global with use vars ('%tables'); our %tables = or else provide an accessor sub which can be exported.

The package global will be accessed as %MyPackage::tables, but no Exporter magic is used for that.

After Compline,
Zaxo