うまいぼうぶろぐ

linuxとhttpdとperlのメモ

IPC::Shareable を使ってforkしたプロセス間で変数を共有

やりたいことが、まんま同じだったのでとても参考になった。

forkしている場合、普通に変数を使っていても共有できない(push @array, $foo とかしても@array が共有できない)のでIPCで共有。

変数の表示ではまったところ

IPC::Shareable は 変数をtie しているので、YAML::Syck::Dump では表示できない。

  • perldoc YAML::Syck

BUGS
Dumping Glob/IO values do not work yet.

Dumping of Tied variables is unsupported.

個人的にはネストしたハッシュとかを表示するのに良くYAMLでDumpするわけですが (Data::Dumper より見やすいので)、かつ速度を求めてYAML::Syck を使っていたのでこれにはまった。(YAMLだとtied variableでもOK)

debug する場合は参照先のようにData::Dump::dump も良い感じですね。