用perl 的 hash 处理数组

我是perl自学者,不会用hash。比如数组:A1A2A3B1B2C1C3如何用hash将其格式转换为A123B12C13即以第一列为key,将相同key的value合并... 我是perl自学者,不会用hash。比如数组:
A 1
A 2
A 3
B 1
B 2
C 1
C 3
如何用hash 将其格式转换为
A 1 2 3
B 1 2
C 1 3
即以第一列为key,将相同key的value合并到一行。如何用perl 编?
展开
 我来答
willshdanvis
2012-06-11 · TA获得超过1018个赞
知道大有可为答主
回答量:2042
采纳率:100%
帮助的人:1349万
展开全部
open IN,"< in.txt";
while(<IN>){
chomp;
my @a=split/\s+/,$_;
if(exists $hash{$a[0]}){
$hash{$a[0]}.="\s$a[0]";
}else{
$hash{$a[0]}=$a[1];
}
}

foreach my $key(%hash){
print "$hash{$key}\t";
}
更多追问追答
追问
看不懂,第5,6,8,以及11,12行,能给加个注释说明性的文字吗?多谢
追答
$a[0]就是key
$a[1]就是value
11,12是验证输出结果的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式