免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2953 | 回复: 6
打印 上一主题 下一主题

问题都不会描述,请高手指教? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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}吗?好像不对吧。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 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";

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2005-02-21 18:12 |只看该作者

问题都不会描述,请高手指教?

详解:
第一步
  1. my $d={
  2. a=>;……
  3. b=>;……
  4. c=>;……
  5. };
复制代码

说明 $d 是一个指向匿名散列表的引用,
用 $$d{a} $$d{b} $$d{c} 这样子就可以解引用。

第二步:

  1. a=>;{1=>;8,2=>;4,3=>;2,4=>;1}
复制代码

说明键 a 的值是一个匿名散列表的引用值。
  1. b=>;{1=>;10,2=>;9,3=>;7,4=>;3}
复制代码

说明键 b 的值也是一个匿名散列表的引用值。
  1. c=>;{1=>;……,2=>;……,3=>;……}
复制代码

说明键 c 的值也是一个匿名散列表的引用值。

第三步:
  1. c=>;{1=>;["ab","ba"],2=>;["a","a"],3=>;["add","dda"]}
复制代码

说明键 c 的值是一个匿名散列表的引用值,
而且这个匿名散列表有三个 key-value pair(键-值对):
  1. 1=>;["ab","ba"]
  2. 2=>;["a","a"]
  3. 3=>;["add","dda"]
复制代码

并且这三个键的值都是匿名数组的引用值。

结束语:
说得不清楚,自己理解一下吧。
实际上这些东西用 Perl 语言本身解释就很明了,
如果用自然语言如汉语或者英语解释,就像是绕口令一样,越解释越乱套。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 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書中有提到...

论坛徽章:
0
5 [报告]
发表于 2005-02-23 11:38 |只看该作者

问题都不会描述,请高手指教?

up!

论坛徽章:
0
6 [报告]
发表于 2005-02-24 09:06 |只看该作者

问题都不会描述,请高手指教?

up!!

论坛徽章:
0
7 [报告]
发表于 2005-02-24 18:39 |只看该作者

问题都不会描述,请高手指教?

一步步来就是了    中间的加{}隔开    从最大的级别往里套   大而下之的以变量代替  然后在用hash或array代替变量
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP