2

を使用してハッシュ構造をファイルに書き込みました

print FILE Data::Dumper->Dump([$x], [ qw(*x) ]);

これをファイルから読み戻すにはどうすればよいですか? 次のスニペットに示すように eval を使用すると、得られるのは $VAR1 = undef; だけです。

local $/; $hash_ref = eval <FILE>;
4

3 に答える 3

4

このタイプのタスクを実行するには、コア モジュールStorableを使用できます。

use Storable;
store \%table, 'file';
$hashref = retrieve('file');
于 2013-11-11T12:05:19.740 に答える
1

既存のハッシュをエクスポートする方法をいくつか試しました。私が見つけた唯一の方法は、既存のハッシュへのポインターである新しい 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';
于 2018-10-03T23:23:25.497 に答える