我需要序列化一個數組與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個分支連接。如果一個孩子打開連接,它將與父母和其他進程共享連接。我做了相同的信號燈來控制對連接的訪問 –
我可以發送給你嗎? –