Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Iterating through file to find specific subsets of lines

by jethro (Monsignor)
on Dec 04, 2013 at 15:23 UTC ( [id://1065607]=note: print w/replies, xml ) Need Help??


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
    Using your scalar would be more efficient than my array solution... if you could get rid of your off-by-1 error (tested).

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1065607]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2025-07-14 15:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.