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: [email protected] 
  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: [email protected]
   L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a