Hello, I have such problem:
I want to print all lines with new added column: IN or OUT, the script runs, but I can't understand, why there is only first line printed...do you have any suggestions?
This is my 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 th
+e 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]; #d
+ifference
last if abs($d)!= 1; #if differ more than 1 - lea
+ve.
$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;
And here is my 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
Here is my OUTPUT FILE, but here is just the 1st line...:
5 Q CAA OUT
Thank you!
2017-08-12 Athanasius added code tags around data
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|