[Cascavel-pm] system

Luis Motta Campos luismottacampos em yahoo.co.uk
Quarta Novembro 29 03:36:21 PST 2006


  Agnaldo, por favor nunca responda apenas para mim.
  Eu sempre respondo às mensagens para a lista, para que todos
participem. Por favor sempre responda para a lista, a não ser que exsita
aqui informação sensível que não pode ser colocada em público (e, neste
caso, não deveria ter sido enviada para mim em primeiro lugar).

  Desculpe o mau-jeito. Não está sendo um dia muito bom.
  Trato do seu email mais tarde um pouco.
  Tenho um assunto importante que precisa da minha atenção neste momento.

  Até breve.

Agnaldo Macedo wrote:
> 
> Olá Luis Motta Campos.
> 
> Me script hoje possui duas partes.
> Uma em que o usuário configura os parametros necessários para ele, outra
> em que a lógica do programa é executada.
> No caso, o usuário possui, entre diversas outras, 3 váriaveis onde ele
> informa o programa a ser usado, um parametro obrigatório, e um segundo
> parametro opcional
> sendo assim, preciso das três variaveis.
> 
> $PROGRAMA = "xxxxx";
> $PARAM1 = "p1p1p1p1";
> $PARAM2 = "p2p2p2p2";
> 
> Obviamente eu não precisaria dizer, mas vou, essas variaveis no meu
> script não possuem esses nomes e todas elas possuem pelo meno 3 linhas
> de comentários informando ao usuário (não ao programador), o que elas
> fazem e como devem ser usadas.
> 
> Diversas linhas abaixo eu apenas faço a chamada ao programa externo, no
> caso, via system, através da linha:
> system("$PROGRAMA","$PARAM1","$PARAM2");
> 
> Se voce, e os demais colaboradores da lista dizem que remover as aspas
> irá melhorar a performance do script, então, com to da certeza, irei
> implementar a sugestão.
> 
> Agora, se for apenas por estilo de programação, por favor né ...
> 
> 
> 
> 
> 
> ----- Original Message ----- From: "Luis Motta Campos"
> <luismottacampos em yahoo.co.uk>
> To: "Agnaldo Macedo" <agnaldo em starweb-software.com.br>; "Cascavel Perl
> Mongers" <cascavel-pm em pm.org>
> Sent: Wednesday, November 29, 2006 8:44 AM
> Subject: Re: [Cascavel-pm] system
> 
> 
>> Agnaldo Macedo wrote:
>>> Hoje eu uso uma linha semelgante a essa.
>>>
>>> system ("$PROGRAMA", "$PARA1", "$PARAM2");
>>>
>>> Como eu podeia fazer para não usar esses tais "meta-caracteres" ?
>>
>>  Posso fazer umas perguntas?
>>  1. Você *precisa* *mesmo* que tudo isto esteja entre aspas duplas?
>> Afinal, não existe nada para interpolar aqui, e isto não é Bash...
>>
>>  2. Você usa uma variável para passar o nome do programa, por que tem
>> mais de um programa sendo chamado por esta chamada de system(), ou
>> apenas para fazer firula? Sugestão:
>>
>>  2.1. Se tem apenas um programa, use uma constante (pragma constant) ou
>> escreva o caminho completo para o seu programa no lugar da variável
>> $PROGRAMA. Isto vai facilitar a sua vida e a do Perl.
>>  2.2. Se você tem mais de um programa para chamar, construa uma
>> Dispatch Table e escreva explícitamente (conforme descrito em 2.1) cada
>> uma das suas chamadas para system().
>>
>>  Ah! Dispatch Table: http://en.wikipedia.org/wiki/Dispatch_table
>>
>>  Seja limpinho e organizado. O próximo programador que mantiver este
>> código agradece ;-)
>>
>>  Putamplexos!
>> -- 
>> Luis Motta Campos
>> Senior System Engineer at Segula.FR
>> Hobbyist Cooker and Photograph 
> 
> 


-- 
Luis Motta Campos
Senior System Engineer at Segula.FR
Hobbyist Cooker and Photograph


Mais detalhes sobre a lista de discussão Cascavel-pm