<html><body>
<p>Nelson,<br>
<br>
O que seria esses &quot;use strict&quot; e &quot;use warnings&quot;??<br>
Vejo como uma vantagem na linguagem perl não ter que declarar variaveis.... porque voce diz ser uma boa pratica???<br>
<br>
Eu fiz aqui a busca em arquivo armazenado cada linha do arquivo em um array e depois comparando posicao por posicao para ver se teve ocorrencia da palavra que esta sendo buscada, e entao imprime a linha da ocorrencia da palavra. <br>
<br>
Fiz usando sua sugestao e gostaria de saber a opiniao da galera se ficou legal.<br>
<br>
vlw<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>
if (@ARGV){ #testa se foi passado um argumento na execução do programa<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>
                $palavra = $arguments[0];#a palavra é recuperada o array<br>
                $linha_palavra = 0;#linha da ocorrencia da palavra<br>
                $achei = 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>
                        ++$linha_palavra;#variavel que guarda a linha que esta sendo lida<br>
                        my @array = $linha; #carrega a linha lida no array<br>
                        my indice; #indice do array<br>
                        if ($array[indice] = $palavra) { #testa se a palavra nesta na linha<br>
                                print &quot;Linha:&quot;.$aux.&quot;\n&quot;;#imprime a linha caso tenha encontrado a palavra<br>
                                $achei = 1; #seta achei indicando que pelo menos uma ocorrencia da palavra foi encontrada <br>
                        }<br>
                }<br>
                close ( ARQUIVO ); #fecha o arquivo<br>
                <br>
                 if ($achei == 0){ #testa se achei 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>
else {#se não foi passado um argumento o programa pede ao usuario que repita a operacao<br>
        print &quot;\nDigite a palavra a ser buscada passando como referencia na execução do programa\n\n&quot;;<br>
    print &quot;Exemplo: perl [programa] [tipo de busca] [palavra]\n\n&quot;;<br>
}<br>
<br>
t+<br>
<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:10__=0CBBF883DFFA37E08f9e8a93df@grude.ufmg.br" width="16" height="16" alt="Inativo ocultar detalhes de&quot;Nelson Ferraz&quot; &lt;nferraz@gmail.com&gt;">&quot;Nelson Ferraz&quot; &lt;nferraz@gmail.com&gt;<br>
<br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:20__=0CBBF883DFFA37E08f9e8a93df@grude.ufmg.br); background-repeat: no-repeat; " width="40%">
<ul>
<ul>
<ul>
<ul><b><font size="2">&quot;Nelson Ferraz&quot; &lt;nferraz@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 19:06</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:30__=0CBBF883DFFA37E08f9e8a93df@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:30__=0CBBF883DFFA37E08f9e8a93df@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:30__=0CBBF883DFFA37E08f9e8a93df@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:30__=0CBBF883DFFA37E08f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""><br>
</td></tr>

<tr valign="top"><td width="1%" valign="middle"><img src="cid:30__=0CBBF883DFFA37E08f9e8a93df@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:30__=0CBBF883DFFA37E08f9e8a93df@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:30__=0CBBF883DFFA37E08f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""></td><td width="336"><img src="cid:30__=0CBBF883DFFA37E08f9e8a93df@grude.ufmg.br" border="0" height="1" width="1" alt=""></td></tr>
</table>
</td></tr>
</table>
<br>
<tt>Diego,<br>
<br>
Algumas sugestões:<br>
<br>
1) Coloque as seguintes linhas no início do seu script:<br>
<br>
use strict;<br>
use warnings;<br>
<br>
Você precisará então declarar suas variáveis com &quot;my&quot;, antes de<br>
usá-las (o que é uma boa prática).<br>
<br>
2) Evite utilizar nomes de variáveis como &quot;$aux&quot; e &quot;$aux2&quot;. Prefira<br>
nomes mais claros, como &quot;$linha_numero&quot; e &quot;$achei&quot;.<br>
<br>
3) Leia o perlintro (em português!):<br>
<br>
</tt><tt><a href="http://www.perl.org.br/bin/view/Perldoc/Perlintro">http://www.perl.org.br/bin/view/Perldoc/Perlintro</a></tt><tt><br>
_______________________________________________<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><tt><br>
</tt><br>
</body></html>