<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18702">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Marcio eu faço assim.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>funcao que sera usada em todos os arquivos por
exemplo</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>sub soma;</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>crio um arquivo soma.pl dentro dele coloco a
função</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>sub somaValor {</FONT></DIV>
<DIV><FONT size=2 face=Arial> my ($a,$b)=undef;</FONT></DIV>
<DIV><FONT size=2 face=Arial> ($a,$b)=@_;</FONT></DIV>
<DIV><FONT size=2 face=Arial> $a +=$b;</FONT></DIV>
<DIV><FONT size=2 face=Arial> return $a;</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>}</FONT></DIV>
<DIV><FONT size=2 face=Arial>1;</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>sempre que eu precisar da soma em algum arquivo eu
faço</FONT></DIV>
<DIV><FONT size=2 face=Arial>require "soma.pl"; #declarando a
dependencia</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>my $a=somaValor($numero1,$numero2);</FONT></DIV>
<DIV><FONT size=2 face=Arial>say $a;</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>em alguns casos também pode secriar um módulo
espefico para retornar o valor desejado</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV>Ricardo Stock<BR><A
href="http://www.stocksistemas.com.br">www.stocksistemas.com.br</A></DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=marciorp@gmail.com href="mailto:marciorp@gmail.com">Marcio -
Google</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=saopaulo-pm@mail.pm.org
href="mailto:saopaulo-pm@mail.pm.org">saopaulo-pm@mail.pm.org</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, March 22, 2013 8:27
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [SP-pm] Subs</DIV>
<DIV><BR></DIV>Mongers,
<DIV><BR></DIV>
<DIV>Mais algumas dúvidas sobre "boas práticas".</DIV>
<DIV><BR></DIV>
<DIV>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.</DIV>
<DIV><BR></DIV>
<DIV>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).</DIV>
<DIV><BR></DIV>
<DIV>3. Declaro as funções (sub) assim:</DIV>
<DIV>sub NomeDaSub {</DIV>
<DIV> my ($NomeDoPrimeiroParametro, ...,
$NomeDoUltimoParametro)=@_;</DIV>
<DIV>}<BR clear=all>
<DIV> Está certo? Ou tem uma técnica "mais" correta?</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>Em tempo, não estão faltando artigos no Equinócio?</DIV>
<DIV><BR></DIV><BR>[...]'s<BR><BR>Marcio </DIV>
<P>
<HR>
<P></P>=begin disclaimer<BR> Sao Paulo Perl Mongers:
http://sao-paulo.pm.org/<BR> SaoPaulo-pm mailing list:
SaoPaulo-pm@pm.org<BR> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm><BR>=end
disclaimer<BR></BLOCKQUOTE></BODY></HTML>