- 论坛徽章:
- 0
|
1 #!/usr/bin/perl -w
2 use strict;
3 use 5.010;
4
5 open my $IN_1 , '<' , "orange_in_1.file" or die "can not read! $!\n";
6 open my $OUT , '>' , "orange_out.file" or die "can not write! $!\n";
7
8 my %hash;
9 my @line;
10 while (<$IN_1>) {
11 chomp;
12 @line = split /\s+/;
13 if (exists $hash{$line[0]}) {
14 if (length ($hash{$line[0]}->[8]) < length ($line[9])) {
15 $hash{$line[0]}->[0] = $line[1];
16 $hash{$line[0]}->[1] = $line[2];
17 $hash{$line[0]}->[2] = $line[3];
18 $hash{$line[0]}->[3] = $line[4];
19 $hash{$line[0]}->[4] = $line[5];
20 $hash{$line[0]}->[5] = $line[6];
21 $hash{$line[0]}->[6] = $line[7];
22 $hash{$line[0]}->[7] = $line[8];
23 $hash{$line[0]}->[8] = $line[9];
24 }
25 } else {$hash{$line[0]} = [$line[1], $line[2], $line[3], $line[4], $line[5], $line[6], $line[7], $line[8], $line[9]];}
26 }
27
28 map {print $OUT "$_ $hash{$_}->[0] $hash{$_}->[1] $hash{$_}->[2] $hash{$_}->[3] $hash{$_}->[4] $hash{$_}->[5] $hash{$_}->[6] $hash{$_}->[7] $hash{$_}->[8]\n";} sort keys %hash;
运行结果:见附件图片 |
|