我有这部分代码来捕获沉浸在哈希中的数组的更大值。当 Perl 识别出最大值时,@slice 数组将删除数组:
if ( max(map $_->[1], @$val)){
my @slice = (@$val[1]);
my @ignored = @slice;
delete(@$val[1]);
print "$key\t @ignored\n";
warn Dumper \@slice;
}
数据:自卸车:
$VAR1 = [
[
'3420',
'3446',
'13',
'39',
55
]
];
我想在一行中打印由制表符 (\t) 分隔的这些信息,如下所示:
miRNA127 dvex589433 - 131 154
miRNA154 dvex546562 + 232 259
miRNA154 dvex573491 + 297 324
miRNA154 dvex648254 + 147 172
miRNA154 dvex648254 + 287 272
miRNA32 dvex320240 - 61 83
miRNA32 dvex623745 - 141 163
miRNA79 dvex219016 + ARRAY(0x100840378)
但在最后一行总是得到这个结果。
我怎样才能生成这个输出?:
miRNA127 dvex589433 - 131 154
miRNA154 dvex546562 + 232 259
miRNA154 dvex573491 + 297 324
miRNA154 dvex648254 + 147 172
miRNA154 dvex648254 + 287 272
miRNA32 dvex320240 - 61 83
miRNA32 dvex623745 - 141 163
miRNA79 dvex219016 + 3420 3446
附加说明:在这种情况下,我想捕捉 $VAR->[1] 中的最大值并查看 $VAR->[0] 中最小值的减法是否 <= 到 55。如果不是,我需要消除此 AoA(最大值)并用它填充 @ignored 数组。接下来,我想打印一些@ignored 的值,比如一个列表。接下来,使用结果 AoA,我想迭代最后一个流程......