Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: read multi lines of a file in perl

by markov (Scribe)
on Nov 05, 2008 at 13:55 UTC ( #721652=note: print w/replies, xml ) Need Help??

in reply to read multi lines of a file in perl

The logic of your code is wrong: your print will only happen when the line contains /process/. Try:
local $_; while(<WORDLIST>) { last if /process/; } while(<WORDLIST>) { print; last if /end process/; }
(many more compact notations for the same exist)

Replies are listed 'Best First'.
Re^2: read multi lines of a file in perl
by sharan (Acolyte) on Nov 05, 2008 at 14:31 UTC
    Hi Markov, Thanks for ur reply.. But i still have a small problem.. as this is able to check for only one loop and not repeated loop.. eg
    process lkhls ksjhfk end process process kfhls kfh end process
    i want output as
    ksjhfk kfh
      Do this if what only what you require is the bit between:
      print grep { !/process/ } <>;
      perl <script>.pl <input>.txt

      ksjhfk kfh

      You could also put this in an array
      my @process = grep { !/process/ } <>;
      However this would just be each element for each line. If you wanted them grouped you need something more complex using assertions ( if you do it the inefficent way like i have )

      UPDATE: This would group them
      { local undef $/; print split /process \s \w+ (.+?) end \s process/xms, <>; }

      P.S. Don't actually use these methods of doing it, There just other ways to do it.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://721652]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2017-09-22 15:44 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (264 votes). Check out past polls.