我需要序列化一个数组与DBI连接对象与其他人共享使用共享内存的进程。但反序列化不起作用。序列化和反序列化perl DBI连接对象
使用可存储的qw/freeze thaw /;
my @connections;
for(my $c = 0;$c < 5;$c++) {
my $conn = DBI->connect($dsn,$user,$password,{'AutoCommit' => 1, 'RaiseError' => 1, 'PrintError' => 0});
push(@connections,$conn);
}
my $shm = freeze(@connections);
my $obj = thaw($shm);
返回错误: 全局符号
"$drh" requires explicit package name (did you forget to declare "my $drh"?) at (eval 33) line 6.
这听起来像一个可怕的想法。另外,你的代码的其余部分在哪里? – melpomene
我的代码有10个包(类)。我的应用程序需要优化与数据库的数字连接我的应用程序从数据库的一个连接开始,它共享了100个分支连接。如果一个孩子打开连接,它将与父母和其他进程共享连接。我做了相同的信号灯来控制对连接的访问 –
我可以发送给你吗? –