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> &lt;<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>&gt; 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 &lt;<a href="mailto:rudolforosa@gmail.com">rudolforosa@gmail.com</a>&gt; wrote:<br>&gt; Galera,<br>&gt;&nbsp;&nbsp; minha primeira duvida: Como deletar a linha atual de um arquivo ??<br>&gt; Eu achei uma solucao, mas acredito que nao eh a melhor.
<br>&gt;<br>&gt; #!/usr/local/bin/perl<br>&gt;<br>&gt; $file = arq; #arq tem 4 linhas contendo a b c d<br>&gt; $new = &quot;$file.tmp.$$&quot;;<br>&gt;<br>&gt; open(LOGS, $file) or die;<br>&gt; @log=&lt;LOGS&gt;;<br>&gt; close(LOGS);
<br>&gt;<br>&gt; foreach $l (@log){<br>&gt; #print &quot;current $l&quot;;<br>&gt; $i++;<br>&gt; if ($l =~ /d/){<br>&gt; delete @log[$i-1];<br>&gt; }<br>&gt; }<br>&gt; open(NEW, &quot;&gt; $new&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or die &quot;can't open $new: $!&quot;;
<br>&gt; foreach $l (@log){<br>&gt; print NEW $l;<br>&gt; }<br>&gt; close(NEW);<br>&gt; rename($new, $file)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or die &quot;can't rename $new to $old: $!&quot;;<br>&gt;<br>&gt; Obrigado, Rudolfo.<br>&gt; _______________________________________________
<br>&gt; SaoPaulo-pm mailing list<br>&gt; <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
&gt;<br><br>perl -pi~ -e '$_ = &lt;&gt; 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>&quot;you seem to think that 'close enough' is close enough...<br>please learn to be 'literal' around programming.&quot;<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>