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