[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