我有一个文件看起来像这样如何解析和检测perl中日志文件中的一行代码块?
[
MsgName:XYZ
Status:Pass
]
[
MsgName:ABC
Status:Pass
]
[
MsgName:bbb
Status:Fail
Error
]
[
MsgName:ttt
Status:Pass
]
现在我想在这
读取该文件,并创建2个日志文件 包含所有数据,并含有唯一的错误数据的其他错误日志中一个常规LOG所以在这种情况下,错误日志应该只显示
[
MsgName:bbb
Status:Fail
Error
]
和regfular记录所有
任何人都可以指导我如何做到这一点
我试过这样
while($line[i]=<FileHandle>
{
if($line[i]=~ /^s*\]/)
{
print OUT "recd new msg-->:/n $line[i];
next;
}
do
{
print OUT "$line[i]";
if($line[i]=~ /Error/)
{ ####this section i cannot figure out hw to frame it get my desired output
print "error found
print ERROROUT .....
} until($line[i]=~ /^s\]
这里我用OUT的常规日志输出 和ERROROUT错误日志
我想补充我希望错误味精的整个块,而不仅仅是错误行 – user2486369