in reply to average of column

Can you please provide some sample input? Your code confuses me.

Without having seen it the input, the code that fits the problem description is:

perl -F'\t' -lanE'$sum += $F[3]; END { say $sum/$. }'

Replies are listed 'Best First'.
Re^2: average of column
by linseyr (Acolyte) on Sep 12, 2012 at 15:08 UTC
    The input is a tab delimited file like:
    chr start end length chr1 10 50 40 chr2 20 80 60
    I want to get the average length of all lines.

      In your OP, you show the following:

      open (MYFILE, '148-N-pvalue0.01_peaks.xls'); #READ THROUGH THE FILE while (my $line = <MYFILE>) { ...

      opening an Excel spread sheet this way will not give you access to the data you want. If you're are trying to parse an Excel spread sheet, consider using a module, like Spreadsheet::ParseExcel for the job. Otherwise, you can use "Save As..." within Excel to save the data as tab-delimited in a text file, e.g., "148-N-pvalue0.01_peaks.txt", which you can then open and process as above.

      toolic shows how to obtain the last column's average, which includes using Acme::Tools. Importantly, two other pragmas begin the solution:

      use warnings; use strict;

      Consider always beginning your scripts with these, as they'll preemptively catch any problematic areas in your scripts--likely saving you many headaches.