现在我有了数据(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
我希望结果印有所有的colums。如果你能给出一些指示,我将不胜感激。
答案 0 :(得分: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
<强>输出:强>
3 14185 T C
2 16543 ATG GAC BL4_0019