[Cascavel-pm] Manipulação de arquivo

Daniel Vinciguerra daniel_5h4d0w em hotmail.com
Segunda Outubro 23 15:29:20 PDT 2006


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/



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