如何使用perl查找a位置和b位置的Mod值

如何使用perl查找a位置和b位置的Mod值,perl,bioinformatics,Perl,Bioinformatics,现在我有了数据(txt文件)。如何找到a位置和b位置的Mod值。 例如: my data: posi 13628 16195 GTG GAA BL4_0018 14185 14185 T C 20000 16543 ATG GAC BL4_0019 Hope The result : posi Mod value 16195 GTG GAA BL4_0018 Mod value 14185 T C Mod

现在我有了数据(txt文件)。如何找到a位置和b位置的Mod值。 例如:

 my data:
  posi 
    13628   16195   GTG GAA BL4_0018
    14185   14185   T   C
    20000   16543   ATG GAC BL4_0019
Hope The result : 
  posi
  Mod value 16195   GTG GAA BL4_0018
  Mod value 14185   T   C
  Mod value 16543   ATG GAC BL4_0019
Mod value=(present-current)%3+1
我希望结果与所有列一起打印。如果您能给我一些建议,我将不胜感激。

怎么样:

#!/usr/bin/perl
use strict;
use warnings;
use Data::Dump qw(dump);

my ($current, $previous, $rest, $prest);
while(<DATA>) {
    chomp;
    if (/^\s*(\d+)(.*)$/) {
        $current = $1;
        $rest = $2;
    }
    if (defined $previous) {
        my $mod = ($current - $previous) % 3 + 1;
        print  "$mod $rest\n";
    }
    $previous = $current;
}

__DATA__
 posi 
    13628   16195   GTG GAA BL4_0018
    14185   14185   T   C
    20000   16543   ATG GAC BL4_0019

你到底有什么问题?你试过什么了?我想插入txt文件并在colums位置找到mod值。只是位置的值被更改了,但我不知道怎么做。非常感谢。非常好。但我希望结果能以列表形式打印出来,因为这不仅是位置栏,而且还有很多栏。你能告诉我怎么做吗?@潘:我不太明白你需要什么:-(但是你可以只做
打印
而不是按
查看结果。@M45:你能再看一次我的问题吗?我又写了一遍。@M45:对不起,M45我写的不是好问题。我确实希望这样做。但是在这个位置上,你能告诉我如何修改值吗?我的意思是和你的第一个答案一样。1.2或3顺便问一下。你能再给我看一次第一个答案的代码吗?非常感谢。@Phan:你可以通过点击N分钟前编辑的
链接查看以前版本的答案
3    14185   T   C
2    16543   ATG GAC BL4_0019