2009年2月4日星期三

[PerlChina] Re: 关于tie的一个疑问

谢谢回答:-)

但原因不是db操作不成功,是因为使用SDBM_File去tied一个哈希之后,所有的key-value对中的value都必须是一个string或者数字,如果是一个匿名数组的话,应该会被serialize成ARRAY(0x8ef0c28)之类的值,导致使用ref得到的自然是个空值,解决办法是使用MLDBM。

是从Advanced Perl Programming中看到的,具体参见10.3.1和10.3.2节

2009/2/5 Jeff Peng <yonghua.peng@gmail.com>:
> 2009/2/5 Tian Yazhou <phio.asia@gmail.com>:
>> 代码如下, 很简单的一段。但是我发现加上中间那个tie语句后,ref得到的就是空值,而不加的话就是ARRAY,用的是Fdedora 8上的5.8.8的perl。
>> tie好像不应该会改变变量的属性的吧。不知道如何解释,请大家帮忙:
>>
>
>
> 空值是因为DB操作未成功。
> 在脚本里加上use strict和use warnings看看有何提示。
>
> --
> Jeff Peng
> http://home.arcor.de/pangj/
>


--
You should be the change you wish to see in the world

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: