Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^9: Extract lines between two patterns

by Anonymous Monk
on Oct 12, 2012 at 07:37 UTC ( #998624=note: print w/replies, xml ) Need Help??

in reply to Re^8: Extract lines between two patterns
in thread Extract lines between two patterns

What are you asking?
  • Comment on Re^9: Extract lines between two patterns

Replies are listed 'Best First'.
Re^10: Extract lines between two patterns
by Anonymous Monk on Oct 12, 2012 at 13:38 UTC
    pretty much I want to use flags in a loop and tell the program once you reach lets say C print it and then the line after that until point G I had was not automated and what I need is to automate it. I will let you see the code its my first time ever to use perl so it might look bad but what ever.
    #!/\\perl # use strict; use warnings; use CQPerlExt; use Getopt::Long; use Time::Local; use File::Basename; # Put the file name in a string variable # so we can use it both to open the file # and to refer to in an error message # if needed. my( $dataLine ); my( $fileName ); my( $success ); # Hard-code the name of the file we're going to read. # This is the script itself. $fileName = '/\\rat09awp\ccscripts\Islam\test.log'; my $start = 0; # Attempt to open the file. We create a file handle called "IN". # Open returns a true value if it succeeded, an undefined # value if it didn't succeed. $success = open( IN, "<$fileName" ); if ( $success ) { # We opened the file successfully. # We loop until we don't get any more data from the file. Wh +en the # file has been exhausted, the value of $dataLine is set to +undefined. # So we simply test $dataLine to see if it is defined after +we have # obtained another line from the file. while ( defined( $dataLine = <IN> ) ) { # while (<IN>) { # print $_; # if ($_ =~ /Duplicate remedy_id:/) { if ($dataLine =~ /Duplicate remedy_id:/ ) { printf $dataLine; while($dataLine = <IN>) { if($dataLine =~ /Duplicate ip_address:/) { printf $dataLine; last; } else { printf $dataLine; } } } } # We have read all the lines from the file. # Close the file. close( IN ); } else { # Opening failed. The error message is stored in a special P +erl # variable, $!. The die() function prints an error message, +then # causes Perl to quit. die( "Can't open file '$fileName' for reading: $!.\n" ); }

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2018-06-17 22:23 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (107 votes). Check out past polls.