Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2017, 11:42   #1
Дарья Борис
Новичок
Джуниор
 
Регистрация: 04.08.2017
Сообщений: 2
Сообщение Как распечатать все строки? PERL

Здравствуйте, я хочу напечатать все строки с новым добавленным столбцом: IN или OUT, скрипт работает, но я не могу понять, почему печатается только первая строка ... есть ли у вас какие-либо предложения?

Это мой script:

use strict;
use warnings;


open(FILE, "Q.txt");
my $file = <>; #FILE

my @column;

while (<>) { #FILE

@column=($file);

chomp @column;

my $number=0;

while($number <= $#column) { #go through the array from 0 to the last element
my $j;
my $count=0;
foreach ($j=$number; $j < $#column; $j++) { #select the numbers from the beginning of the line
my $d=($column[$j]=~/(\d+)/)[0] - ($column[$j+1]=~/(\d+)/)[0]; #difference
last if abs($d)!= 1; #if differ more than 1 - leave. I


$count+=$d; #accumulate the difference.


}
if(abs($count)>=8) {
$column[$_].= " t\IN " for $number..$j;
$number=$j+1;
}


if(abs($count)<8){
$column[$number].= " \tOUT" ;
$number++;
}
}
}
print for @column;
exit;

INPUT FILE:

5 Q CAA
16 Q CAG
21 Q CAA
74 Q CAA
80 Q CAG
82 Q CAG
84 Q CAG
85 Q CAG
89 Q CAG
90 Q CAG
91 Q CAG
92 Q CAG
93 Q CAA
94 Q CAG
95 Q CAG
96 Q CAG
98 Q CAG
99 Q CAG
100 Q CAG
101 Q CAG
102 Q CAG
106 Q CAG
107 Q CAG
108 Q CAG
109 Q CAG
110 Q CAG
111 Q CAG
112 Q CAG
113 Q CAA
114 Q CAG
115 Q CAG
116 Q CAG
118 Q CAG
120 Q CAG
121 Q CAG
125 Q CAG
126 Q CAG
127 Q CAG
129 Q CAA
133 Q CAG
134 Q CAG
135 Q CAG
136 Q CAG
137 Q CAG
139 Q CAG
140 Q CAG
141 Q CAG
142 Q CAG
143 Q CAG
144 Q CAG
145 Q CAG
146 Q CAG
154 Q CAA
156 Q CAG
157 Q CAA
158 Q CAG
160 Q CAG
161 Q CAG
162 Q CAG
163 Q CAA
164 Q CAG
165 Q CAG
167 Q CAG
171 Q CAG
173 Q CAG
175 Q CAA

OUTPUT FILE:

5 Q CAA OUT
и так далее, но, как видите, печатается только первая строка...
Спасибо большое!
Дарья Борис вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распечатать все символы с четными номерами в интервале кодов от 0 до 255. julu199 Помощь студентам 2 19.09.2016 12:23
Распечатать все простые сдвоенные числа, меньшие N. (Delphi) KotoRU Помощь студентам 5 08.10.2014 18:43
Задание:распечатать массивы в две строки,один под другим?Как это сдел (№2 в картинке) Алан1114 Паскаль, Turbo Pascal, PascalABC.NET 1 30.01.2014 20:26
Visual Basic.Нужно распечатать в столбик все слова и числа строки, стоящие на четных местах. ride013 Помощь студентам 3 19.04.2011 09:59