$variable1 = '';
print OUT1 "$first[0]\t$first[1]\t$first[2]\t";
for my $index1 (3..8)
{
my $ratio1 = sprintf( "%.4f%s", $numerator/$denominator,"\t");
#print OUT1 "$ratio1";
$variable1 = "$ratio1"; # problem with this line
}
print OUT1 "$variable1"; # print to textfile
print OUT1 "\n";
I am trying to print out the output after it run finish the for loop 6 times (3 to 8). The data should arrange something like this:
Desired output (e.g.):
A98 0.98 123 4 4 4 4 4 4
A09 0.87 154 2 6 5 8 3 1
A12 0.12 873 6 1 2 4 7 0
Instead, it print out only the last column:
A98 0.98 123 4
A09 0.87 154 1
A12 0.12 873 0
so I change to this line by adding the "." to join the 6 columns together
$variable1 .= "$ratio1"; # problem with this line
and I get weird output like this:
A98 0.98 123 4 4 4 4 4 4
A98 0.98 123 4 4 4 4 4 4 2 6
A98 0.98 123 4 4 4 4 4 4 2 6 4
A98 0.98 123 4 4 4 4 4 4 2 6 4 6
A98 0.98 123 4 4 4 4 4 4 2 6 4 6 1 ...
I know its got to do with the placement of the $variable1 .= "$ratio1"; ...but I have simply no idea how to go on and correct from there.
The reason for attempting to capture the values from the for loop is because I want to calculate my average and CV.
This variable will then put into hashes with the first three columns and go thru filter to filter out based on certain conditions.
|