Mein Hauptteil des regulären Ausdrucks dieserIn Perl Ich bin eine Protokolldatei mit 2 regulären Ausdrücken Parsen aber die regulären Ausdrücken arbeiten nicht ganz so scheint es
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);
ist, wenn ich das Skript @matched kommt laufen leer. Mache ich etwas falsch? Ich habe überprüft, dass die Elemente in der Protokolldatei enthalten sind. Sie erstrecken sich über mehrere Linien und alle. Es ruft im Grunde eine E-Mail ab, die sich in der Protokolldatei befindet, wobei das Start-Tag und das End-Tag die E-Mails trennen. Jede Hilfe wäre großartig.
Sollten Sie nicht einen richtigen IMAP-Client verwenden, statt die Protokolle eines zu analysieren? – tripleee