my %transcripts;
{
open(my $transcripts_fh, "<", $transcripts_qfn)
or die("Can't open \"$transcripts_qfn\": $!\n");
while (<$transcripts_fh>) {
chomp;
my @refs = split(/\t/, $_);
my ($ref_chr, $ref_strand) = @refs[0, 6];
$transcripts{$ref_chr}{$ref_strand} = {start => $refs[3], end => $refs[4], info => $refs[8]};
}
}
####
my $transcript = $transcripts{$chr}{$strand};
my $start = $transcript->{start};
my $end = $transcript->{end};
my $info = $transcript->{info};
##
##
use Data::Dump "pp";
...
say pp \%transcripts; # debug the content of %transcripts
##
##
use Data::Dumper;
...
say Dumper \%transcripts;