[問題] Perl條件式判別問題
已經將原始log中透過Perl處理成以下格式
09:11:06.845,33066845,Send: msg_length, 73,cQ694,0,
09:11:06.860,33066860,Recv: msg_length, 130,cQ694,0,
09:11:09.355,33069355,Send: msg_length, 73,cQ694,4,
09:11:09.369,33069369,Recv: msg_length, 130,cQ694,4,
其中利用最後一欄數字與Send/Recv做以下判別:
======================================
發送狀態1:ExecType=0
發送狀態2:ExecType=4
發送狀態3:ExecType=5
--------------------------------------
回報狀態1:ExecType=0 或ExecType=6
回報狀態2:ExecType=4
回報狀態3:ExecType=5
======================================
if ( $val_type eq 'Send' && $svals->{ExecType} eq '4' )
{
$buf->{$ordno}{SS}{tp} = $val_ts;
$buf->{$ordno}{SS}{ms} = $val_ms;
}
elsif ( $val_type eq 'Recv' && ( $svals->{ExecType} eq '4') )
{
if ( !defined $buf->{$ordno}{RR} )
{
$buf->{$ordno}{RR}{tp} = $val_ts;
$buf->{$ordno}{RR}{ms} = $val_ms;
}
}
09:11:06.845,33066845,Send: msg_length, 73,cQ694,0,
09:11:06.860,33066860,Recv: msg_length, 130,cQ694,0,
09:11:09.355,33069355,Send: msg_length, 73,cQ694,4,
09:11:09.369,33069369,Recv: msg_length, 130,cQ694,4,
執行Perl分析後產生結果如下:
cQ694, 09:11:09.355 => 09:11:09.369 ( 14)
第4筆-第3筆,Type都是4的 , Recv-Send計算時間差 OK!
=========================================================
09:11:06.845,33066845,Send: msg_length, 73,cQ694,0,
09:11:06.860,33066860,Recv: msg_length, 130,cQ694,0,
09:11:09.355,33069355,Send: msg_length, 73,cQ694,4,
09:11:09.369,33069369,Recv: msg_length, 130,cQ694,4,
**但是要同時區別以下送單 0和4的送單,
改寫成目前寫法就會出錯
if ( ($val_type eq 'Send' && $svals->{ExecType} eq '4') ||
($val_type eq 'Send' && $svals->{ExecType} eq '0') )
{
$buf->{$ordno}{SS}{tp} = $val_ts;
$buf->{$ordno}{SS}{ms} = $val_ms;
}
elsif ( ($val_type eq 'Recv' && $svals->{ExecType} eq '4') ||
($val_type eq 'Recv' && $svals->{ExecType} eq '0') )
{
if ( !defined $buf->{$ordno}{RR} )
{
$buf->{$ordno}{RR}{tp} = $val_ts;
$buf->{$ordno}{RR}{ms} = $val_ms;
}
}
cQ694, 09:11:09.355 => 09:11:06.860 ( -2495)
第3筆-第2筆 ,但是Type不同,錯了
且時間不應該負的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.63.31.120
推
11/11 13:10, , 1F
11/11 13:10, 1F
推
11/12 08:30, , 2F
11/12 08:30, 2F
→
11/12 08:31, , 3F
11/12 08:31, 3F
→
11/12 08:51, , 4F
11/12 08:51, 4F
推
11/12 09:16, , 5F
11/12 09:16, 5F
→
11/12 09:16, , 6F
11/12 09:16, 6F
→
11/12 09:18, , 7F
11/12 09:18, 7F
→
11/12 09:25, , 8F
11/12 09:25, 8F
推
11/12 09:29, , 9F
11/12 09:29, 9F
→
11/12 09:31, , 10F
11/12 09:31, 10F
推
11/12 09:36, , 11F
11/12 09:36, 11F
→
11/12 09:37, , 12F
11/12 09:37, 12F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
5
12
Perl 近期熱門文章
PTT數位生活區 即時熱門文章