[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