Isso não daria problema caso a última linha do arquivo desse match com o pattern /d/? (o 'problema' seria o usuário ter que fazer um EOF manualmente com CTRL+C ou afim, o que no seu caso não deve fazer muita diferença)<br>
<br>Sugiro o mesmo approach só que com o switch -e:<br><br>perl -ni~ -e 'print if $_ !~ /d/' nomedoarquivo<br><br>Se for mais complicado acho que o Tie::File do Nelson é melhor (que eu não conhecia!)<br><br><br>Putamplexos (c) :)
<br><br><div><span class="gmail_quote">On 11/21/06, <b class="gmail_sendername">Eden Cardim</b> <<a href="mailto:edencardim@gmail.com">edencardim@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;">
On 11/21/06, Rudolfo rosa <<a href="mailto:rudolforosa@gmail.com">rudolforosa@gmail.com</a>> wrote:<br>> Galera,<br>> minha primeira duvida: Como deletar a linha atual de um arquivo ??<br>> Eu achei uma solucao, mas acredito que nao eh a melhor.
<br>><br>> #!/usr/local/bin/perl<br>><br>> $file = arq; #arq tem 4 linhas contendo a b c d<br>> $new = "$file.tmp.$$";<br>><br>> open(LOGS, $file) or die;<br>> @log=<LOGS>;<br>> close(LOGS);
<br>><br>> foreach $l (@log){<br>> #print "current $l";<br>> $i++;<br>> if ($l =~ /d/){<br>> delete @log[$i-1];<br>> }<br>> }<br>> open(NEW, "> $new") or die "can't open $new: $!";
<br>> foreach $l (@log){<br>> print NEW $l;<br>> }<br>> close(NEW);<br>> rename($new, $file) or die "can't rename $new to $old: $!";<br>><br>> Obrigado, Rudolfo.<br>> _______________________________________________
<br>> SaoPaulo-pm mailing list<br>> <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
><br><br>perl -pi~ -e '$_ = <> if /d/' seuarquivo<br><br>--<br>Eden Cardim<br>Instituto Baiano de Biotecnologia<br>Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas<br>Laboratório de Bioinformática
<br>--<br>"you seem to think that 'close enough' is close enough...<br>please learn to be 'literal' around programming."<br>merlyn - on irc.freenode.net#perl<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br><a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div>
<br>