IPC ::哈希的可共享商店哈希

时间:2012-07-05 20:21:29

标签: perl hash ipc fork

我正在perl中编写一个脚本,我在其中使用forking,我需要在不同的进程之间共享变量。目前我正在使用IPC::Shareable,它一直很好用。但是,它似乎不适用于散列哈希。例如:

$todo->{$next_todo_key}{'urls_hash'} = \%temp;

or 

$todo->{$next_todo_key}{'url_idlist'} = $url_idlist;

会给我错误IPC::Shareable::SharedMem: shmget: File exists at /usr/lib/perl5/site_perl/5.8.8/IPC/Shareable.pm line 566 Could not create shared memory segment: File exists

有谁知道如何解决这个问题?还是一个允许我存储哈希散列的类似模块?谢谢!

1 个答案:

答案 0 :(得分:0)

我建议您尝试DBM::Deep。如果你需要散列哈希值,你可能已经超越了共享内存工具会给你的东西。

如果您真的希望它是瞬态的,可以将DBM :: Deep数据库存储在RAM磁盘中,或者只使用可以在脚本运行结束时清理的临时文件。