ログを行ごとに読み取るログパーサーを作成しています。約100のルールがあり、次のように機能します。
if ($line =~ /blabla (field1) (field2)/)
{ do something }
else if ($line =~ /something (field1) (field2) else/)
{ do something }
しかし、大きなログ ファイルの場合、非常に多くのルールに対して 1 行を照合するのが遅くなる可能性がありますO(n)
。
それで、この問題について何か提案はありますか?単純な文字列とワイルドカードの一致だけではないため、使用できるデータ構造があるかどうかはわかりません。