<DIV>O pessoal,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Calma aí... vocês se esqueceram que eu trabalho com Windows e tem um virus novo no mercado, o tal de Sasser.... não que minha rede tenha tido problema, mas apesar do Antivirus estar Ok eu precisava&nbsp;aplicar o mais novo security path, e sem teste,&nbsp;em mais de 1.000, incluindo usuário remotos !! Ainda bem que escolhi Windows, assim eu garanto o Wiskies das criancinhas !!!</DIV>
<DIV>&nbsp;</DIV>
<DIV>Vamos lá...</DIV>
<DIV>&nbsp;</DIV>
<DIV>O que vou implentar é uma interface para o administrador escolher o que ele quer pegar dos eventlog do Windows, desda maneira o cara poderá colocar condições para armazenar na base um evento, e eu não tenho limite para estas condições. Simplificando mais um pouco, imagine o eventlog do Windows como uma tabela e aí o cara vai fazer um 'select' com os 'where', certo ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Bom, a minha dúvida é saber qual seria a melhor maneira de implementar este where, a príncio eu estava imaginando em colocar cada condição deste 'where' em um elemento de um array e depois aplicar a regra de condição para cada elemento !!! Você vislumbram algo mais inteligente para isto ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>Obrigado,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Solli</DIV>
<DIV>ps.: vou dar uma olhada neste tal de AI::Categorizer !!!!</DIV>
<DIV>
<DIV>&nbsp;</DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0>
<TBODY>
<TR>
<TD class=txt width=100 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2><B>De:</B></FONT></TD>
<TD class=txt width=400 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2>cascavel-pm-bounces@mail.pm.org</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0>
<TBODY>
<TR>
<TD class=txt width=100 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2><B>Para:</B></FONT></TD>
<TD class=txt width=400 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2>"Cascavel Perl Mongers" cascavel-pm@mail.pm.org</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0>
<TBODY>
<TR>
<TD class=txt width=100 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2><B>Cópia:</B></FONT></TD>
<TD class=txt width=400 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0>
<TBODY>
<TR>
<TD class=txt width=100 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2><B>Data:</B></FONT></TD>
<TD class=txt width=400 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2>Fri, 07 May 2004 10:57:45 -0300</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0>
<TBODY>
<TR>
<TD class=txt width=100 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2><B>Assunto:</B></FONT></TD>
<TD class=txt width=400 bgColor=#d8d8d8><FONT face="Trebuchet MS; verdana; arial" size=2>Re: [Cascavel-pm] Mais_um_dúvida_de_REGEX_!!!</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=0>
<TBODY>
<TR>
<TD width=100 bgColor=#e8e8e8>&nbsp;</TD>
<TD width=400 bgColor=#e8e8e8>&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV>&gt; Alexandre de Abreu wrote:</DIV>
<DIV>&gt; &gt; Assumindo $_</DIV>
<DIV>&gt; &gt; </DIV>
<DIV>&gt; &gt; if(/foi pro saco/ &amp;&amp; !/amarelo/) {</DIV>
<DIV>&gt; &gt; print "Boo";</DIV>
<DIV>&gt; &gt; }</DIV>
<DIV>&gt; &gt; </DIV>
<DIV>&gt; </DIV>
<DIV>&gt; Se é jogo de adivinhas, a melhor forma de resolver é implementar logo </DIV>
<DIV>&gt; um rule-based decision engine:</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; use AI::Categorizer;</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; # Do Manual:</DIV>
<DIV>&gt; # AI::Categorizer is a framework for automatic text categorization.</DIV>
<DIV>&gt; # It consists of a collection of Perl modules that implement common</DIV>
<DIV>&gt; # categorization tasks, and a set of defined relationships among</DIV>
<DIV>&gt; # those modules. The various details are flexible - for example,</DIV>
<DIV>&gt; # you can choose what categorization algorithm to use, what</DIV>
<DIV>&gt; # features (words or otherwise) of the documents should be</DIV>
<DIV>&gt; # used (or how to automatically choose these features), what</DIV>
<DIV>&gt; # format the documents are in, and so on.</DIV>
<DIV>&gt; __END__</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; Outra forma de resolver é assim:</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; open REGEXP, "/path/to/rules.regexp"</DIV>
<DIV>&gt; or die;</DIV>
<DIV>&gt; foreach $r( <REGEXP>){ push @rules, qr/$r/; }</DIV>
<DIV>&gt; close REGEXP;</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; # enquanto isso, num pedaço de código nas proximidades...</DIV>
<DIV>&gt; open D, '/path/to/data.bin'</DIV>
<DIV>&gt; or die;</DIV>
<DIV>&gt; local $_;</DIV>
<DIV>&gt; DATA: while( <D>){</DIV>
<DIV>&gt; foreach $r ( @rules ){</DIV>
<DIV>&gt; if( m/$r/ ){</DIV>
<DIV>&gt; push @filtered_data, $_;</DIV>
<DIV>&gt; next DATA;</DIV>
<DIV>&gt; }</DIV>
<DIV>&gt; }</DIV>
<DIV>&gt; }</DIV>
<DIV>&gt; close D;</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; </DIV>
<DIV>&gt; -- </DIV>
<DIV>&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=</DIV>
<DIV>&gt; Luis Campos de Carvalho is BSc in Comp Science,</DIV>
<DIV>&gt; PerlMonk [SiteDocClan], Cascavel-pm Moderator,</DIV>
<DIV>&gt; Unix Sys Admin &amp;&amp; Certified Oracle DBA</DIV>
<DIV>&gt; http://br.geocities.com/monsieur_champs/</DIV>
<DIV>&gt; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=</DIV>
<DIV>&gt; </DIV>
<DIV>&gt; _______________________________________________</DIV>
<DIV>&gt; Cascavel-pm mailing list</DIV>
<DIV>&gt; Cascavel-pm@mail.pm.org</DIV>
<DIV>&gt; http://cascavel.pm.org/mailman/listinfo/cascavel-pm</DIV></DIV>