[SP-pm] Deletar linha atual do arquivo

Eden Cardim edencardim em gmail.com
Terça Novembro 21 03:39:18 PST 2006


On 11/21/06, Rudolfo rosa <rudolforosa em gmail.com> wrote:
> 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.
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>

perl -pi~ -e '$_ = <> if /d/' seuarquivo

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl


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