[Cascavel-pm] Substituição de string e gravação no arquivo

Thomas Britis thomas em tcnet.com.br
Quinta Julho 27 09:31:04 PDT 2006


Não seria necessário abrir dois filehandles??
Ou fechar o primeiro depois de jogá-lo para a array (perigoso para 
arquivos grandes) e abrí-lo novamente como escrita.
open (ARQXML, "<$local");
@texto = <ARQXML>;
close (ARQXML);
open (ARQXML, ">$local");

Isso deve resolver.

Paola Montini wrote:
> Pessoal,
>         Tenho um arquivo XML no qual existe a string SNAPSHOT na tag de 
> versão.Preciso encontrar essa tag dentro do arquivo e substituí-la pelo 
> número da versão
> 
> salvando o arquivo com essa informação nova.
>         Fiz o script de teste abaixo, porém o que esta acontecendo, é 
> ele encontra a string SNAPSHOT, porém não grava nada no arquivo, pior 
> apaga o conteúdo do arquivo inteiro...
> 
>         Please o que estou fazendo de errado:
> 
> 
> #! /usr/bin/perl
> $local = "arquivoxml.xml";
> open (ARQXML,"<$local");
> $nome = SNAPSHOT;
> @texto = <ARQXML>;
> foreach $matriz (@texto)
>      {
>         if ($matriz =~ /$nome/)
>          {
>             print $matriz;
>             $matriz =~ s/$nome/Beta2006.2.1/g;
>            print ARQXML $matriz;
>                  }
> close (ARQXML);
> 
> ps: sei que o comando de substituição tb está funcionando corretamente 
> pois quando peço apenas para substituir e "printar" em tela funciona, o 
> problema está realmente com o arquivo. Também é valido dizer que já 
> tentei abrir o arquivo com > e >> e acontece a mesma coisa.
> 
> TKS galera
> 
> 
> 
> bPaola Montini
> YMF-Consultoria
> Fone: 5010-9220
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm

-- 
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA


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