[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