0
我有兩個製表符分隔表:比較不同表的值perl的
table1
col1 col2 col3 col4
id1 1 1 10
id2 1 15 20
id3 1 30 35
id4 2 10 15
table2
col1 col2 col3
rs1 5 1
rs2 11 1
rs3 34 1
rs4 35 1
我首先要檢查是否有在COL3,表2和COL2-table1的值之間的匹配。如果這是TRUE,那麼我想檢查col2-table2中的值是否在col3 & col4 - table1中的值之間。如果是這種情況,我想將col1的相應值(col)打印到col1的新列中。
所以在這個例子中,最終的結果文件應該是這樣的:
table output
col1 col2 col3 col4 new_col1
id1 1 1 10 rs1:5
id2 1 15 20
id3 1 30 35 rs3:34, rs4:35
id4 2 10 15
開幕後和加載文件時,我開始與存儲數組的數組表2的值。
my @table2;
while (<$table2>){
next if /^\s*#/; #to skip header lines
my @columns = split;
next if $columns[1] =~ /\D/;
push @table2, \@columns;
}
while (<$table1>){
my @columns = split;
...
}
我怎麼能現在檢查是否有在COL3,表2的價值和COL2-table1的之間的匹配。然後如何繼續檢查col2-table2中的值是否在col3 & col4 - table1中的值之間。
請閱讀的perldoc perldsc和perllol的 – Vorsprung 2014-11-24 08:50:08
可能重複的[找到的值的範圍內的2個值的](http://stackoverflow.com/questions/27063288 /發現值-IN-A-範圍爲2的值) – Sobrique 2014-11-24 09:39:19