Eu tb daria uma olhada no App::Rad, pode te facilitar bastante...<br><br clear="all">Just another Perl Hacker,<br>Fernando (SmokeMachine)<br><a href="http://perl-e.org">http://perl-e.org</a><br>Sent from Rio De Janeiro, RJ, Brazil<br>


<br><br><div class="gmail_quote">2009/10/7 Eden Cardim <span dir="ltr">&lt;<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

&gt;&gt;&gt;&gt;&gt; &quot;Joaquim&quot; == Joaquim SONGTKLP &lt;<a href="mailto:test_071009@hotmail.com">test_071009@hotmail.com</a>&gt; writes:<br>
<br>
    Joaquim&gt; Amigos, boa noite Está vulgar?<br>
<br>
<br>
    Joaquim&gt; my $url = &quot;<a href="http://www.google.com.br" target="_blank">www.google.com.br</a>&quot;;<br>
    Joaquim&gt; my $gw1 = &#39;10.10.10.1&#39;;<br>
    Joaquim&gt; my $gw2 = &#39;192.168.0.1&#39;;<br>
    Joaquim&gt; my $p = Net::Ping-&gt;new( &quot;icmp&quot;, 60, 64 );<br>
<br>
Essas variáveis poderiam ser parametrizadas, dá uma olhada em um dos<br>
módulos GetOpt do CPAN.<br>
<br>
    Joaquim&gt; open( N, &quot;route |&quot;)<br>
<br>
Evite usar barewords como filehandles, use um escalar, isso evita<br>
confusão em potencial com nomes de pacote e funções.<br>
E também, sempre use a assinatura de três argumentos, isso evita que<br>
alguém injete um modo não desejado no open, caso você resolva<br>
parametrizar o nome do arquivo.<br>
<br>
    open(my($route), &#39;-|&#39;, &#39;route&#39;)<br>
<br>
    Joaquim&gt; @_ = split(/s+/, $_);<br>
<br>
Evite atribuir a @_, esse array é reservado para parâmetros de subrotinas.<br>
<br>
<br>
    Joaquim&gt; } else {<br>
    Joaquim&gt; open( N, &quot;route |&quot;) {<br>
    Joaquim&gt; $_ = (&lt;N&gt;);<br>
    Joaquim&gt; @_ = split(/s+/, $_);<br>
    Joaquim&gt; qx(route del default gw $_[1]);<br>
    Joaquim&gt; qx(route add default gw $gw2);<br>
    Joaquim&gt; }<br>
<br>
Esse trecho aqui é uma cópia do primeiro bloco do else, construa uma<br>
subrotina e passe $gw1 ou $gw2 conforme for adequado. Além disso,<br>
open é uma função que pode falhar, então sempre avalie o resultado.<br>
<br>
    sub add_default {<br>
      my($gw) = @_;<br>
      open( my($route), &#39;route |&#39;) or die &quot;couldn&#39;t open &#39;route&#39;: $!&quot;;<br>
      my @in = split(/s+/, scalar &lt;$route&gt;);<br>
      qx(route del default gw $in[1]);<br>
      qx(route add default gw $gw);<br>
    }<br>
<font color="#888888"><br>
--<br>
  Eden Cardim       Need help with your Catalyst or DBIx::Class project?<br>
 Code Monkey                    <a href="http://www.shadowcat.co.uk/catalyst/" target="_blank">http://www.shadowcat.co.uk/catalyst/</a><br>
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?<br>
<a href="http://edenc.vox.com/" target="_blank">http://edenc.vox.com/</a>            <a href="http://www.shadowcat.co.uk/servers/" target="_blank">http://www.shadowcat.co.uk/servers/</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a></div></div></blockquote></div><br>