[Cascavel-pm] busca em arquivo

Lorn lorn.br em gmail.com
Sexta Outubro 20 14:27:39 PDT 2006


http://search.cpan.org/~jgoldberg/Text-Levenshtein-0.05/Levenshtein.pm
Esse modulo é um bom começo para buscas aproximadas, boa sorte
PS: Que faculdade é a sua?

On 10/20/06, Diego Mendes Teixeira <diegom em lcc.ufmg.br> wrote:
>
> 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....
>
>
> ==================================================================================================================================
>
> #!/usr/local/bin/perl
>
> #Programa de busca de casamento de padrao em perl com uso de expressoes
> regulares
>
> print "\nEscolha a opcão de busca e a palavra a ser buscada(passagem por
> argumento)\n\n";
> print "0 - Busca exata\n";
> print "1 - Busca aproximada\n\n";
> print "Exemplo: perl [programa] [tipo de busca] [palavra]\n\n";
>
> foreach $argument(@ARGV){ #carrega um argumento por vez para a variavel
> $argument
> push(@arguments,$argument); #adiciona o argumento ao array @arguments
> }
>
> if ($arguments[0] == '0'){ #Testa o primeiro argumento, se '0' entao busca
> exata!
>
> $palavra = $arguments[1];#a palavra é recuperada o array
> $aux = 0;#linha da ocorrencia da palavra
> $aux2 = 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
> ++$aux;#variavel que guarda a linha que esta sendo lida
> if ( $linha =~ /\b$palavra\b/ ) { #testa se a palavra esta na linha
> referenciada
> print "Linha:".$aux."\n";#imprime a linha caso tenha encontrado a palavra
> $aux2 = 1; #seta aux2 indicando que pelo menos uma ocorrencia da palavra
> foi encontrada
> }
> }
> close ( ARQUIVO ); #fecha o arquivo
>
> if ($aux2 == 0){ #testa se aux2 foi setado
> print "Não foi encontrado nenhuma ocorrência da palavra:
> ".$palavra."\n\n";
> }
> }
> else { #Busca aproximada!
>
> $palavra = $arguments[1];#a palavra é recuperada o array
> $aux = 0;#linha da ocorrencia da palavra
> $aux2 = 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
> ++$aux;#variavel que guarda a linha que esta sendo lida
> if (( $linha =~ /$palavra/ ) || ($linhaMaus =~/$palavra/) || ($linhaMin
> =~/$palavra/)){ #testa se a palavra esta na linha referenciada
> print "Linha:".$aux."\n";#imprime a linha caso tenha encontrado a palavra
> $aux2 = 1; #seta aux2 indicando que pelo menos uma ocorrencia da palavra
> foi encontrada
> }
> }
> close ( ARQUIVO ); #fecha o arquivo
>
> if ($aux2 == 0){ #testa se aux2 foi setado
> print "Não foi encontrado nenhuma ocorrência da palavra:
> ".$palavra."\n\n";
> }
>
> }
>
>
>
>
> ==================================================================================================================================
>
> VLW, AGUARDO RETORNO.........
>
> *(Consulte o arquivo anexado: erPerl.pl)*
>
> .============================================.
> Diego Mendes Teixeira - diegom em lcc.ufmg.br
> Setor de Desenvolvimento - UFMG - LCC/CENAPAD
> Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
> '============================================'
> [image: Inativo ocultar detalhes de"Gabriel Vieira"
> <gabriel.vieira em gmail.com>]"Gabriel Vieira" <gabriel.vieira em gmail.com>
>
>
>
>     *"Gabriel Vieira" <gabriel.vieira em gmail.com>*
>             Enviado Por: cascavel-pm-bounces+diegom=
>             lcc.ufmg.br em pm.org
>
>             20/10/2006 14:34 Favor responder a
>             Cascavel Perl Mongers <cascavel-pm em pm.org>
>
>
> Para
>
> "Cascavel Perl Mongers" <cascavel-pm em pm.org>
> cc
>
>
> Assunto
>
> Re: [Cascavel-pm] busca em arquivo
>
> Você já começou?
> Mostra o que já fez que lhe ajudaremos. Não podemos fazer todo um trabalho
> por você né. :)
>
> No aguardo,
>
> Gabriel Vieira
>
> On 10/20/06, *Diego Mendes Teixeira* <*diegom em lcc.ufmg.br*<diegom em lcc.ufmg.br>>
> wrote:
>
>    Boa Tarde,
>
>       Tenho que fazer um trabalho em perl para a máteria de
>       linguagens de programação.
>
>       O objetivo deste trabalho é projetar e implementar um sistema
>       de programas para recuperar
>       ocorrências de padrões em arquivos constituídos de documentos,
>       utilizando algoritmos lineares
>       de busca seqüencial.
>
>       O professor pede que eu desenvolva 2 algoritmos:
>
>       1 - BMH em Perl com arranjo dinâmico em heap
>       2 - Casamento em Perl com uso de expressões regulares
>
>       O sistema recebe do usuário uma cadeia de caracteres, se a
>       busca é exata (k=0) ou aproximada
>       (0 < k < m), e imprime todas as ocorrências do padrão no
>       texto.
>
>       Alguem poderia me dar uma ajuda???????
>
>       Vlw
>
>
>       .============================================.
>       Diego Mendes Teixeira - *diegom em lcc.ufmg.br*<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* <Cascavel-pm em pm.org>*
>       **http://mail.pm.org/mailman/listinfo/cascavel-pm*<http://mail.pm.org/mailman/listinfo/cascavel-pm>
>       _______________________________________________
>       Cascavel-pm mailing list
>       Cascavel-pm em pm.org
>       http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>


-- 
Lorn
- Slackware Linux
www.slackwarezine.com.br
- http://lornlab.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20061020/33ae2cfa/attachment.html 


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