免费注册 查看新帖 |

Chinaunix

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

使用@array[index]引用数组元素为什么没有Warning提示? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-03 21:36 |只看该作者 |倒序浏览
代码如下:
  1. #!/usr/bin/perl
  2. #
  3. use strict;
  4. use warnings;

  5. my @prof = qw ( key1 key2 ele1 """ele2" );
  6. my %profiles;

  7. my $key = "$prof[0].$prof[1]";
  8. @{$profiles{$key}} = ($prof[0],$prof[1],$prof[2],$prof[3]);

  9. #use @
  10. print "@{$profiles{$key}}[0]\n";
  11. print "@{$profiles{$key}}[1]\n";
  12. print "@{$profiles{$key}}[2]\n";
  13. print "@{$profiles{$key}}[3]\n";
  14. #use $
  15. print "${$profiles{$key}}[0]\n";
  16. print "${$profiles{$key}}[1]\n";
  17. print "${$profiles{$key}}[2]\n";
  18. print "${$profiles{$key}}[3]\n";
复制代码
为什么使用@引用数组里的元素没有任何warning信息?
如何是简单的array,如果我使用@数组名[下标]去引用,运行会提示我使用$数组名[下标]。

这2种方式有差别吗?

刚开始看Perl,请见谅,谢谢!
walklan 该用户已被删除
2 [报告]
发表于 2014-02-03 23:06 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2014-02-04 08:59 |只看该作者
回复 2# walklan


    谢谢! 果然还是要把小骆驼尽快看完才行啊

论坛徽章:
0
4 [报告]
发表于 2014-02-04 21:19 |只看该作者
本帖最后由 Cloud.D.Ace 于 2014-02-04 21:19 编辑

回复 2# walklan


    从语法上的确是这样。但如果我只取其中的一个元素的话,不管我是要把它重新赋值给另外一个数组,还是普通标量,最终所得到的结果应该是一样的吧?
walklan 该用户已被删除
5 [报告]
发表于 2014-02-04 22:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2014-02-04 22:22 |只看该作者
回复 5# walklan


    可以举个取出来不是标量的例子吗? 比如数组。
walklan 该用户已被删除
7 [报告]
发表于 2014-02-05 11:46 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP