in reply to Iterating through file to find specific subsets of lines
my $dipped=0; my $column; foreach ... ... if ($score < 50) { $dipped= $columns[0] if (not $dipped); } else { print "$dipped $column\n" if ($dipped); $dipped=0; } $column= $column[0]; } print "$dipped $column\n" if ($dipped);
Untested. $dipped is the variable that stores the first score that dips under 50 in a "dip region" and it also signifies that you are in such a region by being not 0. The construct with $column is necessary to get the number on the last line out of the foreach loop if a dipped region lasts until the end, could be avoided by declaring @columns outside the loop.
UPDATE: Removed the off-by-one error found by toolic, using $column to store $column[0] of the previous loop step
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Iterating through file to find specific subsets of lines
by toolic (Bishop) on Dec 04, 2013 at 15:37 UTC |
In Section
Seekers of Perl Wisdom