Só pra começar:<br>O especificardor &quot;&gt;&gt;&quot; é utilizado para inserir (acrescentar) novo conteúdo a um arquivo. Já o especificador &quot;&gt;&quot; é utilizado para definir um novo conteúdo (apaga o antigo e coloca o novo) ou ainda criar o arquivo.
<br><br>Seguindo:<br><br>- A sua estrutura está muito prematura.<br>- Você usa um &quot;open&quot; que não possui especificamente um &quot;close&quot;.<br>- Você faz uma substituição que não lhe serve de nada, em uma variável cujo valor não é o que você espera.
<br>- Você não alterou o conteúdo do arquivo, logo ele permanecerá o mesmo a não ser que um novo site seja adicionado.<br><br>Abuse do poder do Perl :D<br><br>Fazendo o seu código funcionar:<br><br>- Apenas coloquei para que fosse impresso um novo conteúdo ao arquivo, sendo que esse novo conteúdo seria o conteúdo atual com excessão da linha cujo valor é o &quot;$site&quot;.
<br><br>----------------------------8&lt;----------------------------<br>#!/usr/bin/perl<br><br>use warnings;<br>use strict;<br><br>my $arquivo = &#39;/etc/squid/arquivos/liberados/dl_geral&#39;;<br><div style="direction: ltr;">
open(LIBERADOS,$arquivo) or die &quot;Nao pode abrir o arquivo $arquivo: $!&quot;;<br>my @linhas = &lt;LIBERADOS&gt;;<br>close (LIBERADOS);<br>print &quot;@linhas\n&quot;;<br><br># leitura<br>print &quot;Insira o site a ser removido: &quot;;
<br>my $site = &lt;STDIN&gt;;<br>chomp $site;<br><br># execução<br>open(LIBERADOS,&quot;&gt;&quot;,$arquivo) or die &quot;Nao pode abrir o arquivo $arquivo: $!&quot;;<br>foreach my $linha (@linhas){<br>&nbsp;&nbsp;&nbsp;&nbsp; if ($linha eq $site){
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;O site $site foi removido com sucesso\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print LIBERADOS &quot;$linha\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>}<br>close(LIBERADOS) or die &quot;Nao pode fechar o arquivo $arquivo: $!&quot;;
<br><br>else {<br>&nbsp;&nbsp;&nbsp;&nbsp; open ( LIBERADOS,&quot;&gt;&gt;$arquivo&quot; ) or die ( &quot;Nao pode abrir o arquivo $arquivo: $!&quot; );<br>&nbsp;&nbsp;&nbsp;&nbsp; print ( LIBERADOS &quot;\n$site&quot; );<br>&nbsp;&nbsp;&nbsp;&nbsp; close ( LIBERADOS ) or die ( &quot;Nao pode fechar o arquivo $arquivo: $!&quot; );
<br>&nbsp;&nbsp;&nbsp;&nbsp; system(&quot;squid -k reconfigure&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp; print &quot; O site foi adicionado com sucesso.\n&quot;;<br>}</div>----------------------------&gt;8----------------------------<br><br><br><div><span class="gmail_quote">
On 2/22/07, <b class="gmail_sendername">Rafael Lebrão Martins</b> &lt;<a href="mailto:rafamv1@ig.com.br">rafamv1@ig.com.br</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Boa tarde, estou com problemas para criar um script que remove sites de uma<br>lista do squid. A função do script é receber como argumento o nome do site a<br>ser removido, caso o site exista na lista e imprimir na tela a mensagem de
<br>que o site foi removido com sucesso. Fiz o script abaixo, quando o executo<br>ele imprime a mensagem de que o site foi removido, no entanto, se eu abro o<br>arquivo do squid o site continua lá. Preciso de ajuda para resolver esse
<br>problema... Segue abaixo o script... Obrigado.<br><br>#!/usr/bin/perl<br><br>use warnings;<br>use strict;<br><br><br>my $arquivo = &#39;/etc/squid/arquivos/liberados/dl_geral&#39;;<br>open ( LIBERADOS,$arquivo ) or die ( &quot;Nao pode abrir o arquivo: $!&quot; );
<br>my @linhas = &lt;LIBERADOS&gt;;<br>close (LIBERADOS);<br>print &quot;@linhas\n&quot;;<br>print &quot;Insira o site a ser removido: &quot;;<br>my $site = &lt;STDIN&gt;;<br>chomp $site;<br>open ( LIBERADOS,&quot;&gt;&gt;$arquivo&quot; ) or die ( &quot;Nao pode abrir o arquivo: $!&quot; );
<br>my $linhas = &quot;@linhas&quot;;<br>if ($linhas =~ $site) {<br>#delete (LIBERADOS $site};<br> s/$site/funcionou/gi;<br>print &quot;O site $site foi removido com sucesso\n&quot;;<br>close ( LIBERADOS ) or die ( &quot;Nao pode fechar o arquivo: $!&quot; );
<br>}<br><br>else {<br>open ( LIBERADOS,&quot;&gt;&gt;$arquivo&quot; ) or die ( &quot;Nao pode abrir o arquivo: $!&quot; );<br>print ( LIBERADOS &quot;\n$site&quot; );<br>close ( LIBERADOS ) or die ( &quot;Nao pode fechar o arquivo: $!&quot; );
<br>system(&quot;squid -k reconfigure&quot;);<br>print &quot; O site foi adicionado com sucesso.\n&quot;;<br>}<br><br><br><br><br><br><br>Rafael Lebrao Martins.<br>Cursando Ciências Contábeis.<br>Universidade Estadual Do<br>
Sudoeste Da Bahia.<br>Microsoft Certified<br>Professional<br>70-271:Supporting Users and<br>Troubleshooting a Microsoft&reg;<br>Windows&reg; XP Operating System<br>TEL - (77) 9989-6327<br><br><br><br>_______________________________________________
<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div>
<br><br clear="all"><br>-- <br>Gabriel Vieira