[Cascavel-pm] Manipulação de arquivo
Thomas Britis
thomas em tcnet.com.br
Segunda Outubro 23 16:07:28 PDT 2006
my (@dados);
my ($nome) = $ARGV[0]; # Recebe o nome como primeiro argumento
open (F, "<Agenda");
while (<F>) {
chomp();
if (/^$nome/i) {
@dados = split (/:/, $_);
last;
}
}
if ($dados[0]) {
print "Nome:\t$dados[0]\n";
print "End:\t$dados[1]\n";
print "Bairro:\t$dados[2]\n";
print "Estado:\t$dados[3]\n";
print "Fone:\t$dados[4]\n";
} else {
print "Dados indisponíveis.\n";
}
Daniel Vinciguerra wrote:
> Caros amogos... Preciso mais uma vez de vossa ajuda... =)
>
> tenho um arquivo chamado .Agenda e estou codando um Script em Perl/Tk para
> aacessar esse arquivo e
> procurar por um determinado nome ou trecho dela para uma consulta...
>
> O arquivo esta organizado da seguinte forma...
>
> ############### EXPLO DE AGENDA
> Daniel:Av.3, 234:Ipiranga:SP:62841234
>
> Rosa:Av dos Tamares:São Bento:SP:62435145
>
> ############### FIM DO EXPLO
>
> ou seja cada cadastro esta em uma linha e as informações separadas por :
> (dois pontos)
>
> No programa em uma caixa de texto ao digitar Daniel ele me exibirá as
> informações relacionadas a estes
> cadastro cujo nome é Daniel... por exmplo:
>
> # Ao procurar por Daniel o resultado seria....
>
> Nome: Daniel
> End: Av.3, 234
> Bairro: Ipiranga
> Estado: SP
> Fone: 62841234
>
>
> Como posso estar fazendo isso... jah fiz algo mais não esta dando muito
> certo.... =S
>
> Obrigado...
>
>
> ######## Exemplo do meu codigo.... #############
> sub consulta(){
>
>
> open(AGENDA, $agenda) || die "Não é possível abrir $agenda :\n$!";
>
> cabecalho_cons();
>
> $opcao = <STDIN>;
>
> if ($opcao =~ /n/i) { $consulta = "nome"}
>
> elsif ($opcao =~ /c/i) { $consulta = "coments"}
>
> elsif ($opcao =~ /s|\n/i) { cabecalho_main()};
>
> print "Digite a palavra-chave :";
> chomp($key = <STDIN>);
>
> $achados = 0;
>
> while ( <AGENDA> ) {
>
> chomp;
> ($nome, $endereco, $cidade, $fone, $email, $coments) = split(/:/);
>
> ## fazendo $$consulta -> $nome pois $consulta="nome"
> ## ou então $$consulta -> $coments pois $consulta="coments"
> if ( $$consulta =~ /\s*\w*$key\s*\w*/i){
> write();
> $achados += 1;
> }
> }
>
> if ($achados == 0) {print "\nNada encontrado\n\n"};
>
> <STDIN>;
>
> close(AGENDA);
>
> cabecalho_main();
> }
>
> ################### Fim do exemplo ##########################
>
> _________________________________________________________________
> Chegou o Windows Live Spaces com rede social. Confira
> http://spaces.live.com/
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
--
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA
Mais detalhes sobre a lista de discussão Cascavel-pm