Моя основная часть регулярного выражения - это
my $filename = "/opt/bmc/ARSystem/AREmail/Logs/emaild.sh_log.1";
my $starttag = "A14 FETCH 1";
my $endtag = "A14 OK FETCH completed.";
my $element = "";
if(checkFile($filename)) {
open (MYFILE, $filename);
my @lines = <MYFILE>;
close(MYFILE);
foreach $line(@lines){
print if /$starttag/../$endtag/;
$element .= $line;
}
#print $element;
my @matched = $element =~ /$starttag(.*?)$endtag/mg;
#my @matched = $element =~ /$starttag/mg;
#my @matched1 = $element =~ /$endtag/mg;
print scalar(@matched);
Когда я запускаю скрипт, @matched появляется пустым. Я делаю что-то неправильно? Я проверил элементы в файле журнала. Они охватывают несколько строк и все. Это в основном получение электронной почты, которая находится в файле журнала, теги starttag и end разделяют электронные письма.
Любая помощь будет великолепна.