MAL!!<br>Então melhor assim né ?<br><br>open(my $backup, '<', "$backupname" );<br>open(my $file, '>', "$filename" );<br><br>foreach my $name(@nomes) {<br> excluir_nomes($name);
<br>}<br><br>sub excluir_nomes {<br> my $name = shift;<br> while (<$backup>) {<br> next if $_ =~ /^$name$/;<br> print $file $_;<br> }<br>}<br>close($file);<br>close ($backup);
<br><br><br><div><span class="gmail_quote">On 9/4/07, <b class="gmail_sendername">Gabriel Vieira</b> <<a href="mailto:gabriel.vieira@gmail.com">gabriel.vieira@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Abriria o arquivo a cada execução sem necessidade :)<br><br>On 9/4/07, Márcio Vitor <<a href="mailto:cromo.jml@gmail.com">cromo.jml@gmail.com</a>> wrote:<br>> A melhor opção para o caso seria mesmo o "tie", sem o tie eu faria desta
<br>> maneira:<br>> ...<br>> foreach my $name(@nomes) {<br>> excluir_nomes($name);<br>> }<br>> sub excluir_nomes {<br>> my $name = shift;<br>> open(my $backup, '<', "$backupname" );
<br>> open(my $file, '>', "$filename" );<br>> while (<$backup>) {<br>> next if $_ =~ /^$name$/;<br>> print $file $_;<br>> }
<br>> close($file);<br>> close ($backup);<br>> }<br>><br>> Não sei se isto resolve o problema, mas derepente elucida.<br>><br>> Márcio Vitor<br>><br>><br>> On 9/4/07, Gabriel Vieira <
<a href="mailto:gabriel.vieira@gmail.com">gabriel.vieira@gmail.com</a>> wrote:<br>> ><br>> > tb nao executei mas o foreach aciona a subrotina antes de abrir os<br>> > arquivos, não?<br>> ><br>> >
<br>> > On 9/4/07, Rafael Lebrão Martins <<a href="mailto:rafamv1@ig.com.br">rafamv1@ig.com.br</a>> wrote:<br>> > ><br>> > > >> my $name;<br>> > > >> foreach $name(@nomes) {
<br>> > > >> excluir_nomes($name);<br>> > > >> }<br>> > > >> copy($file, $backup);<br>> > > >> open( ARQUIVO, '>', "$file" );<br>> > > >> open( BACKUP, '<', "$backup" );
<br>> > > >><br>> > > >> sub excluir_nomes {<br>> > > >> foreach ( ) {<br>> > > >> next if $_ =~ /^$name$/;<br>> > > >> print ARQUIVO $_;<br>> > > >> }
<br>> > > >> }<br>> > > >> close (ARQUIVO);<br>> > > >> close (BACKUP);<br>> > > ><br>> > > >Não executei, mas parece correto.<br>> > > ><br>
> > > >Talvez você ache bastante conveniente usar uma interface "tie" para seu<br>> > > programa. Você recria a estrutura do arquivo numa estrutura de dados do<br>> > > Perl, e ao remover uma linha desse estrutura, automaticamente o arquivo
<br>> será<br>> > > atualizado.<br>> > > ><br>> > > >Seu programa também não está exatamente escrito para ter boa<br>> performance,<br>> > > mas se isso não é um problema, está correto. :-)
<br>> > > ><br>> > > >[]'s<br>> > > >Alceu<br>> > ><br>> > > Olá Alceu.. Vou estudar um pouco mais sobre o "tie" e seguir a sua<br>> > > orientação. Se a minha lógica está correta, o código deveria apagar no
<br>> > > arquivo, todos os nomes da lista "@nomes". Tentei novamente aqui e ele<br>> apaga<br>> > > todo o conteúdo mesmo! Tem um detalhe também, depois de executar o<br>> código<br>> > > ele me retorna:
<br>> > ><br>> > > readline() on unopened filehandle BACKUP at apgsub.pl line 36.<br>> > ><br>> > > mas, se estou certo, "BACKUP" está aberto!<br>> > ><br>> > >
<br>> > ><br>> > > _______________________________________________<br>> > > Cascavel-pm mailing list<br>> > > <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> > >
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>> > ><br>> ><br>> ><br>> > --<br>> > Gabriel Vieira<br>> > _______________________________________________
<br>> > Cascavel-pm mailing list<br>> > <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> > <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm
</a><br>> ><br>><br>><br>> _______________________________________________<br>> Cascavel-pm mailing list<br>> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>><br><br><br>--<br>Gabriel Vieira<br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org
</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br>