Это, вероятно, не лучшее решение, но вы можете просто использовать Storable или Data :: Dumper , оба из которых находятся в ядре с тех пор навсегда (5.7.3 и5.5, соответственно).
В качестве альтернативы, вы можете поместить их в другой модуль и использовать / требовать, чтобы, ala
package MyImportantHash;
use Exporter;
our @EXPORT = qw( %important_hash );
our %important_hash = (
some_key => 'some_value',
);
1;
И вваш основной пакет,
use MyImportantHash;
say "$_ => $important_hash{$_}" for sort keys %important_hash;
Конечно, все это предполагает, что вы не хотите, чтобы изменения в хэше, пока в памяти автоматически отображались в файле.Если да, то не смотри дальше, чем ответ Даворга.