I need to create a hash table in one file and use in in another. The reason for it is that that the table is my \"database\" and will be changed, and I want it to seat with
This is likely not be the best solution, but you could just use Storable or Data::Dumper, both of which are in the core since forever (5.7.3 and 5.5, respectively).
Alternatively, you could put them in another module and use/require that, ala
package MyImportantHash;
use Exporter;
our @EXPORT = qw( %important_hash );
our %important_hash = (
some_key => 'some_value',
);
1;
And in your main package,
use MyImportantHash;
say "$_ => $important_hash{$_}" for sort keys %important_hash;
Of course, this all assumes that you don't want changes in the hash while in-memory to automatically show up in the file. If you do, look no further than davorg's answer.