免费注册 查看新帖 |

Chinaunix

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

perl数组赋值问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-26 11:00 |只看该作者 |倒序浏览
本帖最后由 就这么游来游去 于 2010-07-26 11:57 编辑

请问怎么实现用循环将多组有相同性质的元素赋值给不同的数组阿。
比如说有三组元素分别是 (aaa bbb ccc ddd)(fff ggg hhh jjj) (kkk lll ooo)
要分别赋给@a1 @a2 @a3            .怎么才能用一条赋值语句就实现三种不同情况的赋值阿??      望指教   谢谢。



主要是在一个foreach语句里产生的很多数据要分组保存。例:
my @a=(eth0 eth1 eth2);
my @eth;
foreach $a(@a){
        $eth[1]=
         $eth[2]=
        $eth[3]=
#等于后面都是处理好的数据
}
要把每个foreach产生的数据放到一个数组里。也就是说产生三个数组 分别存放eth0的相关信息eth的相关信息eth2的相关信息。  有点说部清楚、有人明白我在说什么吗。。。。。。
          像上面那样 ,只是把数据放到数组@eth里, 但是最后存放的只是eth2的信息,前面两个就被覆盖了,本来一句一句的写也没什么,问题是不知道前面程序到底产生多少个eth0阿eth1阿甚至eth100。   所以不知道要怎么存放。
             最简单的说就是怎么把数组名当成变量使用。 my $k=0;        foreach(<>){      
                                                                                                                           @a$k=$_;   
                                                                                                                              $k++;
                                                                                                                              }                  就是这个意思无限产生数组@a0  @a1 @a2 @a3. . .@a100..................才发现貌似有悖原则    这成了无限定义数组了

论坛徽章:
0
2 [报告]
发表于 2010-07-26 11:05 |只看该作者
楼主字体真大啊

你这样问  大概没人知道你想干啥  字体大也没用

倒还不如直接给出数据样例,再给出想要的结果。

论坛徽章:
0
3 [报告]
发表于 2010-07-26 11:07 |只看该作者
本帖最后由 就这么游来游去 于 2010-07-26 11:20 编辑
楼主字体真大啊

你这样问  大概没人知道你想干啥  字体大也没用

倒还不如直接给出 ...
toniz 发表于 2010-07-26 11:05

     那啥  、 我不知道会那么大的,我怕太小看不清,本来准备用7的.......            已经改小了,  问题是我想要的是过程诶,上面例子那种。

论坛徽章:
0
4 [报告]
发表于 2010-07-26 11:10 |只看该作者
你把問題再說明白一点吧
貌似没看懂

论坛徽章:
0
5 [报告]
发表于 2010-07-26 11:17 |只看该作者
你把問題再說明白一点吧
貌似没看懂
Wayne_sama 发表于 2010-07-26 11:10


哦   就是说想同时给很多组数组赋值,几百上千个那种 ,总不能一个一个的赋吧  。  要怎么才能些个循环让数组名也成一个变量

论坛徽章:
78
双子座
日期:2013-10-15 08:50:09天秤座
日期:2013-10-16 18:02:08白羊座
日期:2013-10-18 13:35:33天蝎座
日期:2013-10-18 13:37:06狮子座
日期:2013-10-18 13:40:31双子座
日期:2013-10-22 13:58:42戌狗
日期:2013-10-22 18:50:04CU十二周年纪念徽章
日期:2013-10-24 15:41:34巨蟹座
日期:2013-10-24 17:14:56处女座
日期:2013-10-24 17:15:30双子座
日期:2013-10-25 13:49:39午马
日期:2013-10-28 15:02:15
6 [报告]
发表于 2010-07-26 11:18 |只看该作者
  1. my ($aa,$bb,$cc) = (['aaa' ,'bbb' ,'ccc', 'ddd'],['fff' ,'ggg', 'hhh' ,'jjj'],['kkk' ,'lll', 'ooo']);

  2. print @$aa;
  3. print "\n";
  4. print @$bb;
  5. print "\n";
  6. print @$cc;
  7. print "\n";
复制代码

论坛徽章:
0
7 [报告]
发表于 2010-07-26 11:22 |只看该作者
yybmsrs 发表于 2010-07-26 11:18



    多谢 ,不过好像不是我要的结果。。。  是我没问题没问清楚。。  等我改改。。。。。。。

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
8 [报告]
发表于 2010-07-26 11:29 |只看该作者
用 map

论坛徽章:
0
9 [报告]
发表于 2010-07-26 11:36 |只看该作者
本帖最后由 就这么游来游去 于 2010-07-26 11:47 编辑
用 map
ynchnluiti 发表于 2010-07-26 11:29



    map??  什么东西?。。。我搜搜克。



搜了好像不行阿    ......

论坛徽章:
0
10 [报告]
发表于 2010-07-26 12:28 |只看该作者
好吧   我知道了  这种情况是要用二维变量。。。。。。。。。。都怪c语言没学好.............





谢谢楼上各位....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP