<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7650.28">
<TITLE>Substituição de string e gravação no arquivo</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT SIZE=2 FACE="Palatino Linotype">Pessoal, </FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype">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 </FONT></P>
<P><FONT SIZE=2 FACE="Palatino Linotype">salvando o arquivo com essa informação nova.</FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype">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...</FONT></P>
<P> <FONT SIZE=2 FACE="Palatino Linotype">Please o que estou fazendo de errado:</FONT>
</P>
<BR>
<P><FONT SIZE=2 FACE="Palatino Linotype">#! /usr/bin/perl</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype">$local = "arquivoxml.xml";</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype">open (ARQXML,"<$local");</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype">$nome = SNAPSHOT;</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype">@texto = <ARQXML>;</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype">foreach $matriz (@texto)</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype"> {</FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype">if ($matriz =~ /$nome/)</FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype"> {</FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype"> print $matriz;</FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype"> $matriz =~ s/$nome/Beta2006.2.1/g;</FONT>
<BR> <FONT SIZE=2 FACE="Palatino Linotype"> print ARQXML $matriz;</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype"> }</FONT>
<BR><FONT SIZE=2 FACE="Palatino Linotype">close (ARQXML);</FONT>
</P>
<P><FONT SIZE=2 FACE="Palatino Linotype">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.</FONT></P>
<P><FONT SIZE=2 FACE="Palatino Linotype">TKS galera</FONT>
</P>
<BR>
<BR>
<P><FONT COLOR="#000080" SIZE=2 FACE="Wingdings">b</FONT><FONT COLOR="#000080" SIZE=2 FACE="Palatino Linotype">Paola Montini</FONT>
<BR><FONT COLOR="#000080" SIZE=2 FACE="Palatino Linotype">YMF-Consultoria</FONT>
<BR><FONT COLOR="#000080" SIZE=2 FACE="Palatino Linotype">Fone: 5010-9220</FONT>
</P>
</BODY>
</HTML>