免费注册 查看新帖 |

Chinaunix

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

perl 数组,哈希 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-06 15:06 |只看该作者 |倒序浏览
我的数据格式如下,我想通过ID就可以自动将后面的数据输出来,请大神帮忙用perl写个程序实现。


#ID       0           1                2                 3                5
a    25.144  50.939        67.596         64.250         37.148
b     17.587         45.580         43.291       24.276   48.665
4     21.197         95.061         38.553    42.6882      51.294

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2015-08-06 15:34 |只看该作者
回复 1# super_two

$ perl hash_id.pl
ID=a, data=25.144        50.939        67.596        64.250        37.148
ID=4, data=21.197        95.061        38.553        42.6882        51.294

$ cat hash_id.pl

use strict;
use warnings;

my %hID;
while(<DATA>){
  chomp;
  next if(m/^\s*(#|$)/);
  my($sID, @aData) = split;
  $hID{$sID} = join("\t", @aData);
}

# get data by id
  print "ID=a, data=$hID{'a'}\n";
  print "ID=4, data=$hID{'4'}\n";



__DATA__
#ID       0           1                2                 3                5
a    25.144  50.939        67.596         64.250         37.148
b     17.587         45.580         43.291       24.276   48.665
4     21.197         95.061         38.553    42.6882      51.294

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP