[Cascavel-pm] Apagar nomes em arquivo.

Rafael Lebrão Martins rafamv1 em ig.com.br
Terça Setembro 4 13:05:46 PDT 2007


>> my $name; 
>> foreach $name(@nomes) { 
>> excluir_nomes($name); 
>> } 
>> copy($file, $backup); 
>> open( ARQUIVO, '>', "$file" ); 
>> open( BACKUP, '<', "$backup" ); 
>> 
>> sub excluir_nomes { 
>> foreach ( ) { 
>> next if $_ =~ /^$name$/; 
>> print ARQUIVO $_; 
>> } 
>> } 
>> close (ARQUIVO); 
>> close (BACKUP); 
> 
>Não executei, mas parece correto. 
> 
>Talvez você ache bastante conveniente usar uma interface "tie" para seu 
programa. Você recria a estrutura do arquivo numa estrutura de dados do 
Perl, e ao remover uma linha desse estrutura, automaticamente o arquivo será 
atualizado. 
> 
>Seu programa também não está exatamente escrito para ter boa performance, 
mas se isso não é um problema, está correto. :-) 
> 
>[]'s 
>Alceu 

Olá Alceu.. Vou estudar um pouco mais sobre o "tie" e seguir a sua 
orientação. Se a minha lógica está correta, o código deveria apagar  no 
arquivo, todos os nomes da lista "@nomes". Tentei novamente aqui e ele apaga 
todo o conteúdo mesmo!  Tem um detalhe também, depois de executar o código 
ele me retorna: 

readline() on unopened filehandle BACKUP at apgsub.pl line 36. 

mas, se estou certo, "BACKUP" está aberto! 




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