<DIV>
<DIV>Pessoal,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Eu preciso de mais uma vez do conhecimento de vocês sobre Perl e REGEX. </DIV>
<DIV>&nbsp;</DIV>
<DIV>Estou trabalhando num cara para extrair o EventLog do Windows e armazenar em alguma base de dados.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Vou permitir incluir regras para ignorar/captura os eventos para cada um dos itens do eventos, podendo ser por exemplo data do evento, tipo de evento, código do evento, etc, etc !!! Para cada item pode existir mais de uma regra tipo :&nbsp;captura os eventid&nbsp;&nbsp;528,&nbsp;529,&nbsp;530 e 667, ou capturar quem pussue no string 'foi pro saco' mas não 'amarelo' - ou seja, se a string for 'foi pro saco verde' pega, se for 'foi pro saco amarelo' não pega !!!</DIV>
<DIV>&nbsp;</DIV>
<DIV>A principio eu iria as regras em um array e fazer um loop para cada regra, tipo:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;code&gt;</DIV>
<DIV>@EventIDRules = qw (528 529 530 667);</DIV>
<DIV>@StringRule&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = qw ('foi pro saco' '!amarelo');</DIV>
<DIV>&nbsp;</DIV>
<DIV>foreach $IDRule ( @EventIDRules )</DIV>
<DIV>{</DIV>
<DIV>&nbsp;&nbsp;&nbsp; if $EventID =~ m/$IDRule/ { faça qualquer coisa }</DIV>
<DIV>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV>foreach $StrRule ( @StringRule&nbsp;)</DIV>
<DIV>{</DIV>
<DIV>&nbsp;&nbsp; # Não tenho a menor idéia neste caso !!!!</DIV>
<DIV>}</DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;\code&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bom, a minha dúvida é sabe se existe alguma técnica com REGEX, ou qualquer outra, para evitar de eu fazer estes loops, comparar a condição numa linha só.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bom é só isto !</DIV>
<DIV>&nbsp;</DIV>
<DIV>Solli</DIV></DIV>