[SP-pm] Como testar conexões remotas?

Solli Honorio shonorio at gmail.com
Sat Sep 18 21:56:57 PDT 2010


Em 18 de setembro de 2010 23:22, "Flávio R. Lopes" <
flavio.lopes em links.inf.br> escreveu:

> Em 18-09-2010 10:05, Thiago Glauco Sanchez escreveu:
>
>  Em 17/09/2010 13:08, Daniel de Oliveira Mantovani escreveu:
>>
>>> De imediato você, está fazendo algumas coisas que não tem muito
>>> sentido e outras que não deveriam estar lá.
>>>
>>>  Sim sim.... use 5.12.0 carrega automaticamente use strict e use
>> warnings, o use 5.10.0 ou inferiores não!
>> 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
>> é "uma boa prática", 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 é "melhor usar uma pá e
>> quando é melhor usar uma enxada". Você pode cavar um buraco com a enxada,
>> mas a pá é muito melhor...
>>
>>  %hash = map { get_a_key_for($_) => $_ } @array;
>>
>> é o mesmo que:
>>
>>  %hash = ();
>>  foreach (@array) {
>>     $hash{get_a_key_for($_)} = $_;
>>  }
>>
>> aliás até os opcodes gerados pelo compilador serão praticamente os mesmos.
>> Assim como for e foreach geram os mesmos opcodes.
>>
> Hummm....Ok!
> Obrigado Thiago.


Mas afinal, vc entendeu a diferença do map e for ?



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


-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100919/96d66a8d/attachment-0001.html>


More information about the SaoPaulo-pm mailing list