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

Paola Montini PMontini em ymf.com.br
Quinta Julho 27 09:59:05 PDT 2006


Meninos deu certo, o erro ocorria porque esqueci de fechar o foreach... 
OBRIGADAÇO

*Paola Montini
YMF-Consultoria
Fone: 5010-9220


-----Mensagem original-----
De: cascavel-pm-bounces+pmontini=ymf.com.br em pm.org
[mailto:cascavel-pm-bounces+pmontini=ymf.com.br em pm.org]Em nome de Paola
Montini
Enviada em: quinta-feira, 27 de julho de 2006 13:49
Para: Cascavel Perl Mongers
Assunto: [Cascavel-pm] RES: Substituição de string e gravação no arquivo


Fiz as alterações sugeridas e agora tenho um pequeno erro

#!/usr/bin/perl
$local ="arquivoxml.xml";
open(ARQXML,"+<$local");
@texto = <ARQXML>;
#close(ARQXML);
#open (ARQXML,">$local");
$nome = SNAPSHOT;
foreach $matriz (@texto)
   {
     if ($matriz =~ /$nome/)
        {
         $matriz =~ s/$nome/Beta2006.1.2/g;
         print ARQXML $matriz ;
        }
close(ARQXML);

ERRO:

Missing right curly or square bracket at testexml.pl line 15, at end of line
syntax error at testexml.pl line 15, at EOF
Execution of testexml.pl aborted due to compilation errors.

Ai meu Deus tô perdida.... 
*Paola Montini
YMF-Consultoria
Fone: 5010-9220


-----Mensagem original-----
De: cascavel-pm-bounces+pmontini=ymf.com.br em pm.org
[mailto:cascavel-pm-bounces+pmontini=ymf.com.br em pm.org]Em nome de Thomas
Britis
Enviada em: quinta-feira, 27 de julho de 2006 13:36
Para: Cascavel Perl Mongers
Assunto: Re: [Cascavel-pm] Substituição de string e gravação no arquivo


Também acho que dá pra se fazer usando open (ARQXML, "+<$local");

Thomas Britis wrote:
> 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
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm


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