<html><body>
<p>EU JA FIZ O DE EXPRESSAO REGULAR QUE ESTA FUNCIONANDO SIM, FALTA NA BUSCA APROXIMADA O PROGRAMA NAO FAZER DISTINCAO ENTRE LETRAS MAIUSCULAS E MINUSCULAS. JA NO OUTRO PROGRAMA EU NAO SEI COMO ADICIONAR O TEXTO EM UM ARRAY E FAZER A BUSCA PELA PALAVRA.... AINDA NAO COMECEI....<br>
<br>
==================================================================================================================================<br>
<br>
#!/usr/local/bin/perl<br>
<br>
#Programa de busca de casamento de padrao em perl com uso de expressoes regulares<br>
<br>
print &quot;\nEscolha a opcão de busca e a palavra a ser buscada(passagem por argumento)\n\n&quot;;<br>
print &quot;0 - Busca exata\n&quot;;<br>
print &quot;1 - Busca aproximada\n\n&quot;;<br>
print &quot;Exemplo: perl [programa] [tipo de busca] [palavra]\n\n&quot;;<br>
<br>
foreach $argument(@ARGV){ #carrega um argumento por vez para a variavel $argument<br>
   push(@arguments,$argument); #adiciona o argumento ao array @arguments<br>
} <br>
<br>
if ($arguments[0] == '0'){ #Testa o primeiro argumento, se '0' entao busca exata!<br>
<br>
                $palavra = $arguments[1];#a palavra é recuperada o array<br>
                $aux = 0;#linha da ocorrencia da palavra<br>
                $aux2 = 0; #se ocorrencia da palavra<br>
                open( ARQUIVO, &quot;texto.txt&quot; ) || die &quot;Erro ao abrir arquivo texto.txt\n&quot;; #abre o arquivo que sera lido<br>
                while ( $linha = &lt;ARQUIVO&gt; ) { #laço que carrega as linhas do arquivo<br>
                        ++$aux;#variavel que guarda a linha que esta sendo lida<br>
                        if ( $linha =~ /\b$palavra\b/ ) { #testa se a palavra esta na linha referenciada<br>
                                print &quot;Linha:&quot;.$aux.&quot;\n&quot;;#imprime a linha caso tenha encontrado a palavra<br>
                                $aux2 = 1; #seta aux2 indicando que pelo menos uma ocorrencia da palavra foi encontrada <br>
                        }<br>
                }<br>
                close ( ARQUIVO ); #fecha o arquivo<br>
                <br>
                 if ($aux2 == 0){ #testa se aux2 foi setado<br>
                         print &quot;Não foi encontrado nenhuma ocorrência da palavra: &quot;.$palavra.&quot;\n\n&quot;;<br>
                }  <br>
}<br>
else { #Busca aproximada!<br>
<br>
                $palavra = $arguments[1];#a palavra é recuperada o array<br>
                $aux = 0;#linha da ocorrencia da palavra<br>
                $aux2 = 0; #se ocorrencia da palavra<br>
                open( ARQUIVO, &quot;texto.txt&quot; ) || die &quot;Erro ao abrir arquivo texto.txt\n&quot;; #abre o arquivo que sera lido<br>
                while ( $linha = &lt;ARQUIVO&gt; ) { #laço que carrega as linhas do arquivo<br>
                        ++$aux;#variavel que guarda a linha que esta sendo lida<br>
                        if (( $linha =~ /$palavra/ ) || ($linhaMaus =~/$palavra/) || ($linhaMin =~/$palavra/)){ #testa se a palavra esta na linha referenciada<br>
                                print &quot;Linha:&quot;.$aux.&quot;\n&quot;;#imprime a linha caso tenha encontrado a palavra<br>
                                $aux2 = 1; #seta aux2 indicando que pelo menos uma ocorrencia da palavra foi encontrada <br>
                        }<br>
                }<br>
                close ( ARQUIVO ); #fecha o arquivo<br>
                <br>
                 if ($aux2 == 0){ #testa se aux2 foi setado<br>
                         print &quot;Não foi encontrado nenhuma ocorrência da palavra: &quot;.$palavra.&quot;\n\n&quot;;<br>
                }  <br>
<br>
}<br>
<br>
<br>
<br>
==================================================================================================================================<br>
<br>
VLW, AGUARDO RETORNO.........<br>
<br>
<i>(Consulte o arquivo anexado: erPerl.pl)</i><br>
<br>
.============================================.<br>
   Diego Mendes Teixeira   -  diegom@lcc.ufmg.br             <br>
   Setor de Desenvolvimento  -  UFMG - LCC/CENAPAD  <br>
   Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910          <br>
'============================================'<br>
<img src="cid:20__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" width="16" height="16" alt="Inativo ocultar detalhes de&quot;Gabriel Vieira&quot; &lt;gabriel.vieira@gmail.com&gt;">&quot;Gabriel Vieira&quot; &lt;gabriel.vieira@gmail.com&gt;<br>
<br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:30__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br); background-repeat: no-repeat; " width="40%">
<ul>
<ul>
<ul>
<ul><b><font size="2">&quot;Gabriel Vieira&quot; &lt;gabriel.vieira@gmail.com&gt;</font></b><font size="2"> </font><br>
<font size="2">Enviado Por: cascavel-pm-bounces+diegom=lcc.ufmg.br@pm.org</font>
<p><font size="2">20/10/2006 14:34</font>
<table border="1">
<tr valign="top"><td width="168" bgcolor="#FFFFFF"><div align="center"><font size="2">Favor responder a<br>
Cascavel Perl Mongers &lt;cascavel-pm@pm.org&gt;</font></div></td></tr>
</table>
</ul>
</ul>
</ul>
</ul>
</td><td width="60%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%" valign="middle"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="58" alt=""><br>
<div align="right"><font size="2">Para</font></div></td><td width="100%"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""><br>
<font size="2">&quot;Cascavel Perl Mongers&quot; &lt;cascavel-pm@pm.org&gt;</font></td></tr>

<tr valign="top"><td width="1%" valign="middle"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="58" alt=""><br>
<div align="right"><font size="2">cc</font></div></td><td width="100%"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""><br>
</td></tr>

<tr valign="top"><td width="1%" valign="middle"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="58" alt=""><br>
<div align="right"><font size="2">Assunto</font></div></td><td width="100%"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""><br>
<font size="2">Re: [Cascavel-pm] busca em arquivo</font></td></tr>
</table>

<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="58"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""></td><td width="336"><img src="cid:40__=0CBBF89EDFF330E88f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""></td></tr>
</table>
</td></tr>
</table>
<br>
<font size="4">Você já começou?<br>
Mostra o que já fez que lhe ajudaremos. Não podemos fazer todo um trabalho por você né. :)<br>
<br>
No aguardo,<br>
<br>
Gabriel Vieira<br>
</font><br>
<font size="4">On 10/20/06, </font><b><font size="4">Diego Mendes Teixeira</font></b><font size="4"> &lt;</font><a href="mailto:diegom@lcc.ufmg.br"><u><font size="4" color="#0000FF">diegom@lcc.ufmg.br</font></u></a><font size="4">&gt; wrote:</font>
<ul>
<ul><font size="5">Boa Tarde,<br>
<br>
Tenho que fazer um trabalho em perl para a máteria de linguagens de programação.<br>
<br>
O objetivo deste trabalho é projetar e implementar um sistema de programas para recuperar<br>
ocorrências de padrões em arquivos constituídos de documentos, utilizando algoritmos lineares<br>
de busca seqüencial.<br>
<br>
O professor pede que eu desenvolva 2 algoritmos:<br>
<br>
1 - BMH em Perl com arranjo dinâmico em heap<br>
2 - Casamento em Perl com uso de expressões regulares<br>
<br>
O sistema recebe do usuário uma cadeia de caracteres, se a busca é exata (k=0) ou aproximada<br>
(0 &lt; k &lt; m), e imprime todas as ocorrências do padrão no texto.<br>
<br>
Alguem poderia me dar uma ajuda???????<br>
<br>
Vlw</font><font size="4"><br>
<br>
<br>
.============================================.<br>
Diego Mendes Teixeira - </font><a href="mailto:diegom@lcc.ufmg.br" target="_blank"><u><font size="4" color="#0000FF">diegom@lcc.ufmg.br</font></u></a><font size="4"> <br>
Setor de Desenvolvimento - UFMG - LCC/CENAPAD <br>
Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910 <br>
'============================================'</font>
<p><font size="4"><br>
_______________________________________________<br>
Cascavel-pm mailing list</font><u><font size="4" color="#0000FF"><br>
</font></u><a href="mailto:Cascavel-pm@pm.org"><u><font size="4" color="#0000FF">Cascavel-pm@pm.org</font></u></a><u><font size="4" color="#0000FF"><br>
</font></u><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank"><u><font size="4" color="#0000FF">http://mail.pm.org/mailman/listinfo/cascavel-pm</font></u></a><font size="4"><br>
</font><tt>_______________________________________________<br>
Cascavel-pm mailing list<br>
Cascavel-pm@pm.org<br>
</tt><tt><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a></tt>
<p></ul>
</ul>
</body></html>