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);
In reply to Re: Generic multiline grepping
by vinoth.ree
in thread Generic multiline grepping
by vasuperl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |