すべての値が 0.3 を超える連続範囲を見つけたいです。例えば
A 1 10 0.2
A 20 40 0.4
A 60 75 0.5
A 90 100 0.55
A 200 205 0.43
A 211 270 0.8
A 450 511 0.1
A 513 550 0.0
B 1 10 0.6
B 50 200 0.7
B 300 350 0.8
B 400 500 0.9
B 600 711 0.4
B 800 900 0.2
出力:
A 20 270
B 1 711
私は試した:
while(<>){
chomp($_);
my @line = split("\t| ", $_);
my $letter=$line[0];
my @start;
my @end;
if($line[3]>0.3){
push (@start, $line[1]);
push (@end, $line[2]);
}
if($line[3]<0.3){
next;}
print $letter,"\t",$start[0],"\t",$end[-1],"\n";
}
しかし、私は得る:
A 20 40
A 60 75
A 90 100
A 200 205
A 211 270
B 1 10
B 50 200
B 300 350
B 400 500
B 600 711
しかし、各適切な範囲の最初の開始と最後の終了のみが必要です