我碰到了一段Perl代碼,我不確定今天如何解釋。具體來說,行$lookup -> {$chr} -> {$start} = $end
,因爲我不確定多箇中綴解除引用操作符是如何工作的。系列中的多個箭頭操作符如何在Perl中工作?
輸入文件包含製表符分隔的染色體名稱($chr)
,開始位置($start)
,並在每行上結束位置($end)
。我知道作者正在創建一個哈希表,其中映射到與每個染色體對應的$start
值的數組,但是我無法確定他正在嘗試使用下一行完成的工作。任何有識之士將不勝感激。
my $hash;
my $lookup;
if (defined $bed_file) {
open(FILE, $bed_file);
while (my $line = <FILE>) {
chomp $line;
my ($chr, $start, $end) = split(/\t/, $line);
push(@{$hash -> {$chr}}, $start);
$lookup -> {$chr} -> {$start} = $end;
}
close(FILE);
}