Outra opção que você tem é criar o esqueleto do seu arquivo com as informações necessárias, e utilizar um processador de templates, como o Template-Toolkit.<br><br>Isto é, caso você tenha que modificar mais de uma string neste arquivo. Melhor que diversos s/// em sequência.
<br><br><div><span class="gmail_quote">Em 27/07/06, <b class="gmail_sendername">Paola Montini</b> <<a href="mailto:PMontini@ymf.com.br">PMontini@ymf.com.br</a>> escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
<div>
<p><font face="Palatino Linotype" size="2">Pessoal, </font>
<br> <font face="Palatino Linotype" size="2">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 face="Palatino Linotype" size="2">salvando o arquivo com essa informação nova.</font>
<br> <font face="Palatino Linotype" size="2">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 face="Palatino Linotype" size="2">Please o que estou fazendo de errado:</font>
</p>
<br>
<p><font face="Palatino Linotype" size="2">#! /usr/bin/perl</font>
<br><font face="Palatino Linotype" size="2">$local = "arquivoxml.xml";</font>
<br><font face="Palatino Linotype" size="2">open (ARQXML,"<$local");</font>
<br><font face="Palatino Linotype" size="2">$nome = SNAPSHOT;</font>
<br><font face="Palatino Linotype" size="2">@texto = <ARQXML>;</font>
<br><font face="Palatino Linotype" size="2">foreach $matriz (@texto)</font>
<br><font face="Palatino Linotype" size="2"> {</font>
<br> <font face="Palatino Linotype" size="2">if ($matriz =~ /$nome/)</font>
<br> <font face="Palatino Linotype" size="2"> {</font>
<br> <font face="Palatino Linotype" size="2"> print $matriz;</font>
<br> <font face="Palatino Linotype" size="2"> $matriz =~ s/$nome/Beta2006.2.1/g;</font>
<br> <font face="Palatino Linotype" size="2"> print ARQXML $matriz;</font>
<br><font face="Palatino Linotype" size="2"> }</font>
<br><font face="Palatino Linotype" size="2">close (ARQXML);</font>
</p>
<p><font face="Palatino Linotype" size="2">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 face="Palatino Linotype" size="2">TKS galera</font>
</p>
<br>
<br>
<p><font color="#000080" face="Wingdings" size="2">b</font><font color="#000080" face="Palatino Linotype" size="2">Paola Montini</font>
<br><font color="#000080" face="Palatino Linotype" size="2">YMF-Consultoria</font>
<br><font color="#000080" face="Palatino Linotype" size="2">Fone: 5010-9220</font>
</p>
</div>
</div><br>_______________________________________________<br>Cascavel-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Igor Sutton Lopes<br>t: +55 51 9627.0779<br>e: <a href="mailto:igor.sutton@gmail.com">igor.sutton@gmail.com</a>