chr1 100 120 feature1
chr1 200 250 feature2
chr2 150 200 feature1
chr2 280 350 feature1
chr3 100 150 feature2
chr3 300 450 feature2
####
chromosome = chr2
start = 160
end = 210
####
#!/usr/bin/perl
use strict;
my %reps = ();
while(my $line = ){
$line =~ s/[\n\r]//g;
my @array = split(/\s+/,$line);
$reps{$array[0]}{$array[1]}{'end'} = $array[2];
$reps{$array[0]}{$array[1]}{'rep'} = $array[3];
}
my $start = 160;
my $end = 210;
my $chr = "chr2";
for my $s (sort {$a<=>$b} keys %{$reps{$chr}}){
if ($start <= $reps{$chr}{$s}{'end'}) {
last if $s >= $end;
print "$chr $s $reps{$chr}{$s}{'end'} $reps{$chr}{$s}{'rep'}\n";
}
}
__DATA__
chr1 100 120 feature1
chr1 200 250 feature2
chr2 150 200 feature1
chr2 280 350 feature1
chr3 100 150 feature2
chr3 300 450 feature2