- 论坛徽章:
- 0
|
那就加个 flag 吧
#!/usr/bin/perl
use strict;
use warnings;
my @string;
while (<DATA>) {
chomp;
push @string, (split)[0];
}
@string = sort {length($b) <=> length($a)} @string;
my @flag; <----------------
$flag[$_] = 0 for (0 .. $#string); <-------------
for my $tpl (0 .. $#string-1) {
my @result = ();
for ($tpl+1 .. $#string) {
next if $flag[$_]; <---------------
if ($string[$tpl] =~ m/$string[$_]/) {
push @result, $string[$_];
$flag[$_] = 1; <--------------
}
}
if (@result) {
print "$string[$tpl]\n";
for (@result) {
print ' 'x(index $string[$tpl], $_);
print "$_\n";
}
print "\n";
}
}
__DATA__
ACCGTTTAGATACATGT SEQ.1275097.24.1
CGGGGCATGACGTCACGATGATG SEQ.197109.23.1
AAAAAAAACCTACTTGAGCTACGC SEQ.2530317.24.1
AAAAAAAACGCCTTCAGCAGGGCC SEQ.1945375.23.1
CGGGGCATGACGTCACGAT SEQ.1595165.24.1
AAAAAAAACGTCTAATACATGTAA SEQ.1971895.23.1
CGGGGCATGACGTCACGATGATG SEQ.1756499.24.1
ATGACGTCACGATGAT SEQ.5697175.23.1
GGGCATGACGTCACG SEQ.197174.23.2
CAAGGTGAACAGCCTCTGGCCCA SEQ.197175.23.1
CAAGGTGAACAGCCTCTGGCCTGT SEQ.1487567.24.1
[ 本帖最后由 cobrawgl 于 2008-5-23 20:12 编辑 ] |
|