免费注册 查看新帖 |

Chinaunix

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

[求助] Perl语法问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-08 14:17 |只看该作者 |倒序浏览
本帖最后由 brant_chen 于 2010-10-08 14:20 编辑

Perl语法真的让我焦头烂额啊

有如下的code:
  1. sub _uniq {
  2.    my (@keys) = @_;
  3.    my %seen;

  4.    for my $key (@keys) {
  5.       $seen{$key}++;
  6.    }

  7.    return keys %seen;
  8. }

  9. my $verify = {
  10.       id    => 'SCALAR',
  11.       text  => 'SCALAR',
  12.       dependents    => 'ARRAY',
  13.    };
  14.    my $require = {
  15.       id    => 'required',
  16.       text  => 'required',
  17.       dependents    => 'optional',
  18.    };
  19.    my $fail = 0;

  20.    for my $key (_uniq(keys %$verify, keys %$struct)) {
  21. ....
  22.    }
复制代码
我不懂
1. $verify 明明是hash,为什么不是写成:my %verify?
2. keys %$verify是什么意思? 我只见过:
   @keys = keys %ENV;

谢谢。
我并不是常用perl,所以经常整晕,请原谅~~

论坛徽章:
0
2 [报告]
发表于 2010-10-08 14:22 |只看该作者
{:3_188:} 引用

论坛徽章:
0
3 [报告]
发表于 2010-10-08 14:26 |只看该作者
回复 1# brant_chen


    reference/dereference

论坛徽章:
0
4 [报告]
发表于 2010-10-08 14:28 |只看该作者
perl 语言的精髓 引用

论坛徽章:
0
5 [报告]
发表于 2010-10-08 14:28 |只看该作者
http://www.chinaunix.net/jh/25/504623.html
LZ你去看看这个 或许对你有帮助

论坛徽章:
0
6 [报告]
发表于 2010-10-08 14:36 |只看该作者
哦也!
明白了!
谢谢楼上各位,特别是 猪鼻插葱  :)

论坛徽章:
0
7 [报告]
发表于 2010-10-08 14:46 |只看该作者
回复 1# brant_chen


    1. $verify 明明是hash,为什么不是写成:my %verify?
   答:$verify不是hash,它是一个指向hash的引用(或者称呼它为指针,这样可能会让你更明白一些,嘿嘿),因为它用{}来定义。而hash是用()来定义的。
       %$verify才是一个hash。
   
   2. keys %$verify是什么意思? 我只见过:
      @keys = keys %ENV;
     答:keys %$verify是一个数组,
  1. _uniq(keys %$verify, keys %$struct)
复制代码
等于
  1. @keys1 = keys %$verify;
  2. @keys2 = keys %$struct;
  3. _uniq(@keys1,@keys2);
复制代码

论坛徽章:
0
8 [报告]
发表于 2010-10-08 14:50 |只看该作者
{:3_195:} 大叔 能告之你的联系方式吗?MAIL SMN什么的都行

论坛徽章:
0
9 [报告]
发表于 2010-10-08 17:09 |只看该作者
咦?刚刚都看见大叔的QQ哒?咋那留言不在了?

论坛徽章:
0
10 [报告]
发表于 2010-10-08 17:20 |只看该作者
{:3_185:} 大叔 你联系方式呢  怎么不见了 我没记下啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP