Я хочу разделить части файла.Вот как выглядит начало файла (оно продолжается таким же образом):
Location Strand Length PID Gene
1..822 + 273 292571599 CDS001
906..1298 + 130 292571600 trxA
Я хочу разбить столбец Location и вычесть 822-1, сделать то же самое для каждой строки и добавить их всевсе вместе.Так что для этих двух результатов значение будет: (822-1) + 1298-906) = 1213 Как?Мой код прямо сейчас (я не получаю никакого вывода вообще в терминале, он просто продолжает обрабатываться вечно):
use warnings;
use strict;
my $infile = $ARGV[0]; # Reading infile argument
open my $IN, '<', $infile or die "Could not open $infile: $!, $?";
my $line2 = <$IN>;
my $coding = 0; # Initialize coding variable
while(my $line = $line2){ # reading the file line by line
# TODO Use split and do the calculations
my @row = split(/\.\./, $line);
my @row2 = split(/\D/, $row[1]);
$coding += $row2[0]- $row[0];
}
print "total amount of protein coding DNA: $coding\n";
Итак, что я получу из своего кода, если я поставлю:
print "$coding \n";
в конце цикла while, чтобы проверить это:
821
1642
Итак, первое число верное (822-1), но следующее число не имеет никакого смысла длямне, это должно быть (1298-906).То, что я хочу в конце вне цикла:
print "total amount of protein coding DNA: $coding\n";
- это сумма всех вычитаний каждой строки, т.е. 1213. Но я ничего не получаю, только терминал, который работает вечно.