Ce n'est probablement pas la meilleure solution, mais vous pourriez simplement utiliser Stable o Data::Dumper qui sont toutes deux présentes dans le noyau depuis toujours (5.7.3 et 5.5, respectivement).
Vous pouvez également les placer dans un autre module et l'utiliser/le requérir, comme dans le cas suivant
package MyImportantHash;
use Exporter;
our @EXPORT = qw( %important_hash );
our %important_hash = (
some_key => 'some_value',
);
1;
Et dans votre paquet principal,
use MyImportantHash;
say "$_ => $important_hash{$_}" for sort keys %important_hash;
Bien sûr, tout ceci suppose que vous ne voulez pas que les modifications apportées au hachage en mémoire apparaissent automatiquement dans le fichier. Si c'est le cas, ne cherchez pas plus loin que la réponse de davorg.