即使脚本退出,也要永久保存Perl哈希



我想创建一个哈希表,即使脚本退出,也可以永久保存密钥及其值。这可能吗?

例如:

我第一次运行这个脚本时,它接收$key和$value变量,并将其存储到哈希表中。

$key = 'perl';
$value = '123';
$hash{$key} = $value; 

这是我第二次运行相同的脚本,但我更改了值

$key = 'ruby';
$value = '456';
$hash{$key} = $value; 

如果我打印出哈希表,我将得到值为123的perl和值为456的ruby。

我没有太多使用它的经验,但您可以使用Storable:

use strict;
use warnings;
use Storable;
store %hash, 'file';

或者,您可以使用数据库或键值存储(MySQL、PostgreSQL、MongoDB、Couchbase、Riak等)。

虽然我同意Storable可以工作,但您也可以使用Data::Dumper,它可以提供人类可读/可修改的输出。您还可以将数据读回Perl数据结构中。

输出

print $FH Data::Dumper->new([$hash_data], ['output123'])->Purity(1)->Dump;

输入

my $data_structure = do { local $/; <$FH> };
eval $data_structure;

一个$data_structure是eval,您将有一个hashref@$output123$输出由最初进行转储时设置的参数命名。

将其写入一个文件。

(额外的字符以达到30字符的最小长度)

最新更新