[SP-pm] Subs

Ricardo Stock ricardostock at bol.com.br
Sat Mar 23 05:30:05 PDT 2013


Marcio eu faço assim.

funcao que sera usada em todos os arquivos por exemplo

sub soma;

crio um arquivo soma.pl dentro dele coloco  a função

sub somaValor {
    my ($a,$b)=undef;
    ($a,$b)=@_;
    $a +=$b;
    return $a;

}
1;

sempre que eu precisar da soma em algum arquivo eu faço
require "soma.pl"; #declarando a dependencia

my $a=somaValor($numero1,$numero2);
say $a;

em alguns casos também pode secriar um módulo espefico para retornar o valor desejado


Ricardo Stock
www.stocksistemas.com.br
  ----- Original Message ----- 
  From: Marcio - Google 
  To: saopaulo-pm em mail.pm.org 
  Sent: Friday, March 22, 2013 8:27 PM
  Subject: [SP-pm] Subs


  Mongers,


  Mais algumas dúvidas sobre "boas práticas".


  1. Tenho algumas funções (sub) que são comuns a mais de um aplicativo. Qual a forma mais simples, prática e elegante de compartilha-las entre vários scripts, sendo que todos ficam no mesmo diretório? Hoje, tenho o mesmo código repetido dentro do arquivo de cada script.


  2. Tenho algumas funções (sub) que precisam retornar mais de uma informação, as vezes até 5. Hoje como não sei fazer isso, declaro variáveis no inicio do script e antes de chamar a sub, atribuo "undef" para as variáveis. Dentro da sub eu atribuo os valores que preciso a elas e depois da sub eu leio essas variáveis. Não me causa problema, só acho estranho e pouco elegante. Exemplo de retorno: Se deu erro (1 ou 0), Registro que deu erro (numérico), Descrição do Erro (string), Se conseguiu cancelar do IPBX (1 ou 0).


  3. Declaro as funções (sub) assim:
  sub NomeDaSub {
     my ($NomeDoPrimeiroParametro, ..., $NomeDoUltimoParametro)=@_;
  }

     Está certo? Ou tem uma técnica "mais" correta?




  Em tempo, não estão faltando artigos no Equinócio?



  [...]'s

  Marcio 


------------------------------------------------------------------------------


  =begin disclaimer
     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
   SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130323/b82ddb5d/attachment.html>


More information about the SaoPaulo-pm mailing list