永久保存Perl哈希甚至脚本退出

时间:2013-02-13 03:22:53

标签: perl file hash

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

例如:

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

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

虽然我同意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'd你将有一个hashref @ $ output123。最初进行转储时,$ output由参数集命名。

答案 2 :(得分:1)

将其写入文件。

(额外的字符到lenchar后30-30分钟)