Chinaunix
标题:
问题都不会描述,请高手指教?
[打印本页]
作者:
djq1976
时间:
2005-02-21 17:43
标题:
问题都不会描述,请高手指教?
my $d={
a=>;{1=>;8,2=>;4,3=>;2,4=>;1},
b=>;{1=>;10,2=>;9,3=>;7,4=>;3},
c=>;{1=>;["ab","ba"],2=>;["a","a"],3=>;["add","dda"]},
};
如何对以上类型进行存取,参考了cgi::session,也看了session的记录,可惜看不懂,我想把它存到数据库中,供使用,data::dump我也看不懂,好像是存数据用的,可取出来怎样用呀?print $d->;{a}->;{1}吗?好像不对吧。
作者:
flw
时间:
2005-02-21 17:57
标题:
问题都不会描述,请高手指教?
print $$d{a}{1} 就可以得到 8
print $$d{a}{2} 就可以得到 4
print $$d{b}{3} 就可以得到 7
print $$d{c}{1}[0] 就可以得到 "ab";
print $$d{c}{3}[1] 就可以得到 "dda";
作者:
flw
时间:
2005-02-21 18:12
标题:
问题都不会描述,请高手指教?
详解:
第一步
:
my $d={
a=>;……
b=>;……
c=>;……
};
复制代码
说明 $d 是一个指向匿名散列表的引用,
用 $$d{a} $$d{b} $$d{c} 这样子就可以解引用。
第二步:
a=>;{1=>;8,2=>;4,3=>;2,4=>;1}
复制代码
说明键 a 的值是一个匿名散列表的引用值。
b=>;{1=>;10,2=>;9,3=>;7,4=>;3}
复制代码
说明键 b 的值也是一个匿名散列表的引用值。
c=>;{1=>;……,2=>;……,3=>;……}
复制代码
说明键 c 的值也是一个匿名散列表的引用值。
第三步:
c=>;{1=>;["ab","ba"],2=>;["a","a"],3=>;["add","dda"]}
复制代码
说明键 c 的值是一个匿名散列表的引用值,
而且这个匿名散列表有三个 key-value pair(键-值对):
1=>;["ab","ba"]
2=>;["a","a"]
3=>;["add","dda"]
复制代码
并且这三个键的值都是匿名数组的引用值。
结束语:
说得不清楚,自己理解一下吧。
实际上这些东西用 Perl 语言本身解释就很明了,
如果用自然语言如汉语或者英语解释,就像是绕口令一样,越解释越乱套。
作者:
apile
时间:
2005-02-22 15:56
标题:
问题都不会描述,请高手指教?
print $d->;{a}->;{1};
是正確的..也可這樣用.....
->;跟C裡面的pointer的deref一樣...
所以
$d->;{a}->;{1} 等同
$$d{a}{1}
如果中間有array..就變成
$d->;[a]->;{1}....
這個advance perl programming書中有提到...
作者:
reason001
时间:
2005-02-23 11:38
标题:
问题都不会描述,请高手指教?
up!
作者:
yzcdf
时间:
2005-02-24 09:06
标题:
问题都不会描述,请高手指教?
up!!
作者:
gunguymadman
时间:
2005-02-24 18:39
标题:
问题都不会描述,请高手指教?
一步步来就是了 中间的加{}隔开 从最大的级别往里套 大而下之的以变量代替 然后在用hash或array代替变量
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2