+ -
当前位置:首页 → 问答吧 → 初学Perl,用数组引用作关联列表key的问题

初学Perl,用数组引用作关联列表key的问题

时间:2011-03-26

来源:互联网

类似下面这段代码,我想用数组的引用作为hash表的key值,之后取出key再取相应的数组的各元素值,但是执行中出现 “Use of uninitialized value in concatenation (.) or string at。。。”错误。如果是直接赋值的引用变量(如pa)就能顺利显示,但二者的显式值都是一样的,即ARRAY(XXXXX)。我是初学者,这是在实验代码的时候遇到的问题,麻烦高手指教。

#!/usr/bin/perl

@a = ("a1", "a2");
$pa = \@a;


%hash1 = (\@a => "y");
while(($holder, $record) = each(%hash1)){
print("$holder\n");
print("$$holder[0]\n");
print("$pa\n");
print("$$pa[0]\n");
}

作者: elvisharcher   发布时间: 2011-03-26

%hash1 = (\@a => "y");  

在这里, 所有的这些东西应该都变成了字符串。

不过看你的代码,不知道你是想要测试什么东西, 用 array 的 ref 做 hash 的 key,很奇怪的想法。

作者: alabos   发布时间: 2011-03-26

测试发现array的ref做value的时候可以取出array的元素,只有key被强迫作为字符串处理了?

作者: elvisharcher   发布时间: 2011-03-26