while ((my $begin, my $end) = each %exon_endpoints) {
print get_exon($chromosome, $begin, $end), "\n\n";
}
sub get_exon {
my($chromosome, $begin, $end) = @_;
# The arguments to substr are: string, beginning, length
return substr($chromosome, $begin - 1, $end - $begin + 1);
}
####
while ((my $begin, my $end) = each %exon_endpoints) {
print substr($chromosome, $begin - 1, $end - $begin + 1), "\n\n";
}
####
my $chromosome;
get_chromosome(1, \$chromosome);
my $get_exon = sub {
substr $chromosome, $_[0] - 1, $_[1] - $_[0] - 1;
};
while (my @ends = each %exon_endpoints)
{
print $get_exon->(@ends), "\n\n";
}