|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
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 и так далее, но, как видите, печатается только первая строка... Спасибо большое! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Распечатать все символы с четными номерами в интервале кодов от 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 |