<br><br><div class="gmail_quote">Em 18 de setembro de 2010 23:22, &quot;Flávio R. Lopes&quot; <span dir="ltr">&lt;<a href="mailto:flavio.lopes@links.inf.br">flavio.lopes@links.inf.br</a>&gt;</span> escreveu:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

Em 18-09-2010 10:05, Thiago Glauco Sanchez escreveu:<div class="im"><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Em 17/09/2010 13:08, Daniel de Oliveira Mantovani escreveu:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
De imediato você, está fazendo algumas coisas que não tem muito<br>
sentido e outras que não deveriam estar lá.<br>
<br>
</blockquote>
Sim sim.... use 5.12.0 carrega automaticamente use strict e use warnings, o use 5.10.0 ou inferiores não!<br>
A função map{ } é um loop que retorna valores para serem guardados em outro array ou hash. Enfim, neste caso e em muitos casos não gera dano nenhum, apenas gera opcodes desnecessários para o interpretador do Perl. Não é &quot;uma boa prática&quot;, mas não fere ninguém. As funções map, sort e grep trabalham como loops especializados. Você pode usa-los para outras coisas, eh bem comum ver por ai códigos com map que meramente descartam o valor. E como o Mantovani ressaltou isso só gera um warning. Você dá mais trabalho ao Perl por que ele vai gerar um valor de saída que vai ser descartado. O seu raciocínio de programação está evoluindo bem, é apenas questão de refinar um pouco o seu conhecimento de Perl e saber quando é &quot;melhor usar uma pá e quando é melhor usar uma enxada&quot;. Você pode cavar um buraco com a enxada, mas a pá é muito melhor...<br>


<br>
 %hash = map { get_a_key_for($_) =&gt; $_ } @array;<br>
<br>
é o mesmo que:<br>
<br>
 %hash = ();<br>
 foreach (@array) {<br>
     $hash{get_a_key_for($_)} = $_;<br>
 }<br>
<br>
aliás até os opcodes gerados pelo compilador serão praticamente os mesmos. Assim como for e foreach geram os mesmos opcodes.<br>
</blockquote></div>
Hummm....Ok!<br>
Obrigado Thiago.</blockquote><div><br>Mas afinal, vc entendeu a diferença do map e for ?<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Quando você faz, 5.12.0 automaticamente você tem &quot;use warnings&quot; e &quot;use<br>
strict&quot; no seu código. Outra coisa, a unica coisa que você vai<br>
conseguir usando um map em void context é um warning avisando que o<br>
map está em void context, map não é para isso.<br>
Se você der uma lida no perldoc -f map, vai pegar o que é o &quot;map&quot;.<br>
<br>
<br>
<br>
2010/9/17 &quot;Flávio R. Lopes&quot;&lt;<a href="mailto:flavio.lopes@links.inf.br" target="_blank">flavio.lopes@links.inf.br</a>&gt;:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Ops!...só corrigindo o link:<br>
<br>
<a href="http://gist.github.com/583692" target="_blank">http://gist.github.com/583692</a><br>
<br>
<br>
Em 17-09-2010 01:40, &quot;Flávio R. Lopes&quot; escreveu:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Olá pessoal.<br>
<br>
Fiz um programinha que sincroniza diretórios entre servidores. Como são<br>
vários servidores, gostaria de gerar tipo de um &quot;log&quot; que irá me mostrar<br>
quais as conexões (transferências) que deram certo e quais falharam.<br>
Por exemplo, gostaria de gerar um arquivo de log que me mostrasse mais ou<br>
menos o seguinte:<br>
<br>
Servidor server1 =&gt;  Transferência Ok<br>
Servidor server2 =&gt;  Transferência Ok<br>
Servidor server3 =&gt;  Falhou<br>
(and so on...)<br>
<br>
O script é este: git://<a href="http://gist.github.com/583692.git" target="_blank">gist.github.com/583692.git</a><br>
<br>
Tentei jogar esta parte (abaixo) dentro de um &quot;if&quot;, mas não funcionou:<br>
map {<br>
    $obj-&gt;exec( { src =&gt;  $_ . &#39;:/path/de/origem&#39;, dest =&gt;  $servidor{$_} } )<br>
      or warn &quot;A transferencia falhou!\n&quot;<br>
} keys %servidor;<br>
<br>
<br>
Uma outra dúvida minha é a seguinte: Como eu usei a função &quot;map&quot; para<br>
tratar os elementos do meu Hash, quando eu disparo o script, ele<br>
automaticamente tenta fazer a conexão com TODOS os servidores listados<br>
dentro do Hash de uma única vez, ou seja, ele vai abrir tantas conexões<br>
quantas estiverem listadas no Hash. Constatei isto usando o &quot;netstat -n&quot;<br>
<br>
Daria para fazer um controle, tipo, só abrir uma conexão, quando uma outra<br>
for finalizada? Imaginei também testar a conexão, ou seja, pode ser que um<br>
determinado server não esteja &quot;no ar&quot;...<br>
<br>
Vocês podem me dar uma dica?<br>
<br>
Abraço,<br>
Flávio<br>
<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">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><br>
<br>
</blockquote>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">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><br>
<br>
</blockquote>
<br>
<br>
</blockquote>
<br>
<br>
</blockquote>
<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">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><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>