【发布时间】:2016-08-29 13:03:50
【问题描述】:
我有一个带有制表符分隔列的文件,如下所示:
TR1"\t"P0C134
TR2"\t"P0C133
TR2"\t"P0C136
现在我将它们分成两个数组(一个用于每列值)然后将它们转换为哈希值,但我想删除重复项(这里是 TR2),同时合并它们的右列值......类似于 TR2=>P0C133 ,P0C136 ...这怎么可能?在 perl 中有什么功能可以做到吗?
for($i=0;$i<=scalar@s_arr;$i++)
{
if($s_arr[$i] eq $s_arr[$i+1])
{ push(@temp,$idx_arr[$i]); }
else
{
if(@temp eq "")
{ $s_hash{$s_arr[$i]}=$idx_arr[$i]; }
else
{
$idx_str=join(",",@temp);
$s_hash{$s_arr[$i]}=$idx_str;
@temp="";
}
}
}
这是我编写的代码,@s_arr 存储左列值,@idx_arr 存储右列值
【问题讨论】: