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);
All is well. I learn by answering your questions...