[Cascavel-pm] Manipulação de arquivo

david valentim dvdscripter em gmail.com
Segunda Outubro 23 22:58:05 PDT 2006


use eq quando for comparar strings
nao sei pq nao usar regex mas pra validar palavras usaria /[^_\D\w]+/
para ver se a palavra existe faria /$palavra/ ou eq mesmo em kd elemento do
array
acho q vc nao ta percorrendo o array =x

Em 23/10/06, Diego Mendes Teixeira <diegom em lcc.ufmg.br> escreveu:
>
> Pessoal,
>
> Eu também estou precisando fazer essa busca em arquivo, mas nao posso usar
> expressão regular.
>
> Tenho que armazenar o texto em um array e depois comparar as palavras da
> linha do arquivo com a palavra que o usuario digitou, se na linha tiver a
> palavra eu imprimo a linha.
>
> Eu pensei na seguinte logica, porem está imprimindo todas as linhas:
>
> [codigo]
>
>                 $palavra = $arguments[1];#a palavra é recuperada do array
>
>                 if (/\D$palavra\D/) {#testa se os caracteres digitados são
> letras
>                 print "Digite caracteres de palavra (a-z, A-Z)";
>                 }
>
>                 $linha_numero = 0;#linha da ocorrencia da palavra
>                 $achei = 0; #se ocorrencia da palavra
>                 open( ARQUIVO, "texto.txt" ) || die "Erro ao abrir arquivo
> texto.txt\n"; #abre o arquivo que sera lido
>                 while ( $linha = <ARQUIVO> ) { #laço que carrega as linhas
> do arquivo
>                         ++$linha_numero;#variavel que guarda a linha que
> esta sendo lida
>                         my @array = $linha; #carrega a linha lida no array
>                         my $indice; #indice do array
>                         if ($array[indice] == $palavra) { #testa se a
> palavra nesta na linha
>                                 print "Linha:".$linha_numero."\n";#imprime
> a linha caso tenha encontrado a palavra
>                                 $achei = 1; #seta achei indicando que pelo
> menos uma ocorrencia da palavra foi encontrada
>                         }
>                 }
>                 close ( ARQUIVO ); #fecha o arquivo
>
>                 if ($achei == 0){ #testa se achei foi setado
>                         print "Não foi encontrado nenhuma ocorrência da
> palavra: ".$palavra."\n\n";
>                 }
>
> [fim_codigo]
>
> Aguardo uma ajuda.
>
> Vlw
>
> Diego
>
>
> .============================================.
>    Diego Mendes Teixeira   -  diegom em lcc.ufmg.br
>    Setor de Desenvolvimento  -  UFMG - LCC/CENAPAD
>    Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
> '============================================'
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20061024/eaac9015/attachment-0001.html 


Mais detalhes sobre a lista de discussão Cascavel-pm