Grabbing Chunks of Data from File in Perl -


i scanning error log keyword "warning." when find it, there particular case of warning end information relevant warning newline character. want scan through error log, find keyword warning keep skipping down file until find newline character , once i've found it, analyze chunk , print out.

the format this:

warning! blah blah blah orange  warning! blah blah red blah  warning! blah blah blah yellow 

here's code far: use strict; use warnings;

my $file = $argv[0]; $count = 0;  open(log, "<",$file) or die "cannot open < input: $!";   $line = <log>; while($line ne "") { if($line =~ /warning/i) {     while($line !~/\a\n\z/)     {         if($line =~ /red/ || $line =~ /yellow/ ||$line =~ /black/)         {             $count++;          }         print($line);         $line = <log>;      }     print("just finished chunk.\n"); }  $line = <log>; } print($fix, "\n"); 

however, it's infinite loop throws errors , don't know why.

you read file "chunks" , not lines

local $/ = "\n\n"; while(my $chunk = <log>) {    ..    print("just finished chunk.\n"); } 

Comments

Popular posts from this blog

python - How to create a legend for 3D bar in matplotlib? -

java - Multi-Label Document Classification -

php - Dynamic url re-writing using htaccess -