[SP-pm] Deletar linha atual do arquivo

Rudolfo rosa rudolforosa em gmail.com
Terça Novembro 21 02:59:29 PST 2006


Galera,
  minha primeira duvida: Como deletar a linha atual de um arquivo ??
Eu achei uma solucao, mas acredito que nao eh a melhor.

#!/usr/local/bin/perl

$file = arq; #arq tem 4 linhas contendo a b c d
$new = "$file.tmp.$$";

open(LOGS, $file) or die;
@log=<LOGS>;
close(LOGS);

foreach $l (@log){
#print "current $l";
$i++;
if ($l =~ /d/){
delete @log[$i-1];
}
}
open(NEW, "> $new")         or die "can't open $new: $!";
foreach $l (@log){
print NEW $l;
}
close(NEW);
rename($new, $file)          or die "can't rename $new to $old: $!";

Obrigado, Rudolfo.


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