in reply to Generic multiline grepping
If you can use Perl version 5.10, then there is a really easy way to do that. Just use the new smart match (~~) operator.
use warnings; use strict; use 5.10.1; my @matches = ( qr/pattern1/, qr/pattern2/, ); if( $_ ~~ @matches ){ ... }
Not tested
Update:Tested Now,Make changes in your pattern as needed.
use strict; use warnings; use 5.10.1; my $logpattern1='rrcConnection'; my $logpattern2='measurementReport'; my $logpattern3='Event'; open(LOGFILE,"./log.txt") or die "$!"; my @file=<LOGFILE>; my $f=join("",@file); my @matches = ( qr/.*$logpattern1/, qr/.*$logpattern2/, qr/.*$logpattern3/, ); if( $f ~~ @matches ){ print("Found log marker : $logpattern1 $logpattern2 $logpattern3 in T +M500log\n"); } else{ print("Failed to find log marker: $logpattern2 $logpattern3 in $logpat +tern1 in TM500log\n"); } close(LOGFILE);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Generic multiline grepping for nested pattern matching
by vasuperl (Acolyte) on Mar 06, 2015 at 05:45 UTC | |
|
Re^2: Generic multiline grepping
by vasuperl (Acolyte) on Mar 06, 2015 at 05:09 UTC |