求教:如何将序号相同的两行合并为一行

juzi1114
求教:如何将序号相同的两行合并为一行

如是这样的
11        Alpha-
11        24/25 protein)
12        Amiloride-sensitive amine oxidase
12        (EC 1.4.3.6)
12        (Histaminase)
想要用perl来写 将前面序号相同的合并变成如下形式:
11           Alpha-24/25 protein)
12           Amiloride-sensitive amine oxidase (EC 1.4.3.6) (Histaminase)

用去掉换行也不行
谢谢啦 想了好久都不会!!
我很努力在学习perl了滴...

ps: 这样的数据有很多个,如下
1     ab
1     cd
2     ...
2      ....
3      .....
.....
1500 ....
准备把这些存成一个数组,但是后面的就不知道怎么写了, 谢谢各位了!!!

[[i] 本帖最后由 juzi1114 于 2008-6-19 14:18 编辑 [/i]]

juzi1114
回复 #1 juzi1114 的帖子

为啥没滴人来帮下我呢....5.....

不死草
read line
然后模式匹配/^11/ or /^12/:mrgreen:

juzi1114
回复 #3 不死草 的帖子

:mrgreen: :mrgreen: 忘了说了 这只是其中一小部分 要是有上千个序列该如何写呀?
非常谢谢你哦!!

cobrawgl
#!user/bin/perl

use strict;
use warnings;

my %data;
while (<DATA>) {
        chomp;
        my @t = /(/d+)/s+(.*)/;
        $data{$t[0]} .= $t[1];
}

print $_, "/t", $data{$_}, "/n" for keys %data;
__DATA__
11        Alpha-
11        24/25 protein)
12        Amiloride-sensitive amine oxidase
12        (EC 1.4.3.6)
12        (Histaminase

[[i] 本帖最后由 cobrawgl 于 2008-6-19 14:53 编辑 [/i]]

不死草
呵呵,cobrawgl 大虾的方法总是很全面的,不论什么情况都考虑了的。。。佩服,学习中!~:mrgreen:

juzi1114
回复 #5 cobrawgl 的帖子

呵呵 谢谢了 先去试下了 :mrgreen:

juzi1114
回复 #5 cobrawgl 的帖子

恩 非常谢谢 可以了 果然是高手啊 呵呵....
偶也要努力学习!!! 向你们学习 呵呵..