我想创建一个哈希表,即使脚本退出,也可以永久保存密钥及其值。那可能吗 ?
例如:
我第一次运行这个脚本,它接受$ key和$ value变量并将其存储到哈希表中。
$key = 'perl';
$value = '123';
$hash{$key} = $value;
我第二次运行相同的脚本,但我更改了值
$key = 'ruby';
$value = '456';
$hash{$key} = $value;
如果我打印出哈希表,我将得到值为123的perl和值为456的ruby。
答案 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分钟)