1

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

例如:

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

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

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

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

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

4

3 回答 3

3

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

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

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

于 2013-02-13T03:32:51.920 回答
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 由最初进行转储时设置的参数命名。

于 2013-02-13T07:32:47.720 回答
1

将其写入文件。

(到达 30char min post len 的额外字符)

于 2013-02-13T03:30:50.807 回答