免费注册 查看新帖 |

Chinaunix

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

请教一个动态调整"数组名"的问题,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-22 00:31 |只看该作者 |倒序浏览
假定存在数组:@array1, @array2, @array3, ……;
令$i=1;
怎么实现让 @array{1,2,3,……}  可以随 $i 动态调用,即:
当$i=1时,使用的数组是@array1;
当$i=2时,使用的数组是@array2;
当$i=3时,使用的数组是@array4;
……
也就是可以表示成类似于${array$i}[ ]的形式,比如$i=1时为$array1[];


望各位高手指点,谢谢!
//bow

论坛徽章:
0
2 [报告]
发表于 2005-06-22 06:46 |只看该作者

请教一个动态调整"数组名"的问题,谢谢!


  1. E:\_Downloads>;more test.pl
  2. @array1 = (1);
  3. @array2 = (2);
  4. @array3 = (3);

  5. foreach (1...3) {
  6.    $name = 'array'.$_;
  7.    print $name,':',@{$name},"\n";
  8. }

  9. E:\_Downloads>;perl test.pl
  10. array1:1
  11. array2:2
  12. array3:3
复制代码

论坛徽章:
0
3 [报告]
发表于 2005-06-22 09:58 |只看该作者

请教一个动态调整"数组名"的问题,谢谢!

谢谢!

这样功能是可以实现,不过加了‘-w’选项时,会出现告警信息:
Name "main::array1" used only once:possible typo at H:\test.pl line 4.

有什么更好的办法可以实现功能而消除警告信息。

再次感谢cuer的帮助。

论坛徽章:
0
4 [报告]
发表于 2005-06-22 16:43 |只看该作者

请教一个动态调整"数组名"的问题,谢谢!

在@array1 = (1);这种定义的前面加上my就不会有警告了

论坛徽章:
0
5 [报告]
发表于 2005-06-22 16:49 |只看该作者

请教一个动态调整"数组名"的问题,谢谢!


  1. Z:\>;more test.pl
  2. use warnings;

  3. {
  4.   no warnings;
  5.   @array1 = (1);
  6.   @array2 = (2);
  7.   @array3 = (3);
  8. }

  9. foreach (1...3) {
  10.   $name = 'array'.$_;
  11.   print $name,':',@{$name},"\n";
  12. }

  13. Z:\>;perl test.pl
  14. array1:1
  15. array2:2
  16. array3:3
复制代码

论坛徽章:
0
6 [报告]
发表于 2005-06-22 17:39 |只看该作者

请教一个动态调整"数组名"的问题,谢谢!

为什么加my的话输出就不对了呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP