<DIV>O pessoal,</DIV>
<DIV> </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 aplicar o mais novo security path, e sem teste, em mais de 1.000, incluindo usuário remotos !! Ainda bem que escolhi Windows, assim eu garanto o Wiskies das criancinhas !!!</DIV>
<DIV> </DIV>
<DIV>Vamos lá...</DIV>
<DIV> </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> </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> </DIV>
<DIV>Obrigado,</DIV>
<DIV> </DIV>
<DIV>Solli</DIV>
<DIV>ps.: vou dar uma olhada neste tal de AI::Categorizer !!!!</DIV>
<DIV>
<DIV> </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> </TD>
<TD width=400 bgColor=#e8e8e8> </TD></TR></TBODY></TABLE></DIV>
<DIV>> Alexandre de Abreu wrote:</DIV>
<DIV>> > Assumindo $_</DIV>
<DIV>> > </DIV>
<DIV>> > if(/foi pro saco/ && !/amarelo/) {</DIV>
<DIV>> > print "Boo";</DIV>
<DIV>> > }</DIV>
<DIV>> > </DIV>
<DIV>> </DIV>
<DIV>> Se é jogo de adivinhas, a melhor forma de resolver é implementar logo </DIV>
<DIV>> um rule-based decision engine:</DIV>
<DIV>> </DIV>
<DIV>> use AI::Categorizer;</DIV>
<DIV>> </DIV>
<DIV>> # Do Manual:</DIV>
<DIV>> # AI::Categorizer is a framework for automatic text categorization.</DIV>
<DIV>> # It consists of a collection of Perl modules that implement common</DIV>
<DIV>> # categorization tasks, and a set of defined relationships among</DIV>
<DIV>> # those modules. The various details are flexible - for example,</DIV>
<DIV>> # you can choose what categorization algorithm to use, what</DIV>
<DIV>> # features (words or otherwise) of the documents should be</DIV>
<DIV>> # used (or how to automatically choose these features), what</DIV>
<DIV>> # format the documents are in, and so on.</DIV>
<DIV>> __END__</DIV>
<DIV>> </DIV>
<DIV>> Outra forma de resolver é assim:</DIV>
<DIV>> </DIV>
<DIV>> open REGEXP, "/path/to/rules.regexp"</DIV>
<DIV>> or die;</DIV>
<DIV>> foreach $r( <REGEXP>){ push @rules, qr/$r/; }</DIV>
<DIV>> close REGEXP;</DIV>
<DIV>> </DIV>
<DIV>> # enquanto isso, num pedaço de código nas proximidades...</DIV>
<DIV>> open D, '/path/to/data.bin'</DIV>
<DIV>> or die;</DIV>
<DIV>> local $_;</DIV>
<DIV>> DATA: while( <D>){</DIV>
<DIV>> foreach $r ( @rules ){</DIV>
<DIV>> if( m/$r/ ){</DIV>
<DIV>> push @filtered_data, $_;</DIV>
<DIV>> next DATA;</DIV>
<DIV>> }</DIV>
<DIV>> }</DIV>
<DIV>> }</DIV>
<DIV>> close D;</DIV>
<DIV>> </DIV>
<DIV>> </DIV>
<DIV>> -- </DIV>
<DIV>> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=</DIV>
<DIV>> Luis Campos de Carvalho is BSc in Comp Science,</DIV>
<DIV>> PerlMonk [SiteDocClan], Cascavel-pm Moderator,</DIV>
<DIV>> Unix Sys Admin && Certified Oracle DBA</DIV>
<DIV>> http://br.geocities.com/monsieur_champs/</DIV>
<DIV>> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=</DIV>
<DIV>> </DIV>
<DIV>> _______________________________________________</DIV>
<DIV>> Cascavel-pm mailing list</DIV>
<DIV>> Cascavel-pm@mail.pm.org</DIV>
<DIV>> http://cascavel.pm.org/mailman/listinfo/cascavel-pm</DIV></DIV>