を使用してハッシュ構造をファイルに書き込みました
print FILE Data::Dumper->Dump([$x], [ qw(*x) ]);
これをファイルから読み戻すにはどうすればよいですか? 次のスニペットに示すように eval を使用すると、得られるのは $VAR1 = undef; だけです。
local $/; $hash_ref = eval <FILE>;
を使用してハッシュ構造をファイルに書き込みました
print FILE Data::Dumper->Dump([$x], [ qw(*x) ]);
これをファイルから読み戻すにはどうすればよいですか? 次のスニペットに示すように eval を使用すると、得られるのは $VAR1 = undef; だけです。
local $/; $hash_ref = eval <FILE>;
このタイプのタスクを実行するには、コア モジュールStorableを使用できます。
use Storable;
store \%table, 'file';
$hashref = retrieve('file');
既存のハッシュをエクスポートする方法をいくつか試しました。私が見つけた唯一の方法は、既存のハッシュへのポインターである新しい var を作成することです。それからボロディンの答えはうまくいきます。
use strict;
use warnings;
use Data::Dumper;
my %x = (
a => 1,
b => 2,
);
my $x = \%x; # <<< Added so $x is a reference to %x.
open my $fh, '>', 'dumper.txt' or die $!;
print $fh Data::Dumper->Dump([$x], ['*x']);
close $fh;
my %data = do 'dumper.txt';