[Cascavel-pm] sub-rotina na frente

Solli Honorio shonorio em gmail.com
Quarta Julho 1 07:15:29 PDT 2009


Pq 42 é a média de idade dos programadores Perl ?



2009/6/29 Thomas Britis <thomas em tcnet.com.br>

> Pq?
>
>
> Blabos de Blebe wrote:
>
>> A expressão 1; já é "deprecated".
>>
>> Use a expressão 42;
>>
>> 2009/6/26 Adriano Ferreira <a.r.ferreira em gmail.com>:
>>
>>
>>> 2009/6/26 Fernando <fernandolouis em terra.com.br>
>>>
>>>  "did not return a true value"
>>>>
>>>
>>> Ah, agora entendi sua dúvida. O seu problema é que ao usar "require" é
>>> necessário que o código carregado retorne um valor verdadeiro. E só a
>>> declaração de sub-rotinas não lhe dará isto.
>>> Por isto, um arquivo como:
>>> # foo.pl
>>> sub add2 { shift() + 2}
>>> vai emitir este erro se carregado com "require 'foo.pl'"
>>> Mas qualquer um destes dois, funciona
>>> # foo2.pl
>>> sub add2 { shift() + 2}
>>> 1;
>>> # foo3.pl
>>> 1;
>>> sub add2 { shift() + 2}
>>> Você pode se perguntar porque, e a resposta é que a construção "sub
>>> nome_da_sub { ... }" é executada em tempo de compilação e não produz um
>>> valor de retorno útil para os propósitos do "require" (isto vale para o
>>> "use" também que na verdade é definido em termos de "require"). Por isso,
>>> sempre que se constrói um arquivo para ser carregado por require/use (por
>>> exemplo, como um módulo - o que é mais usual em Perl moderno), você deve
>>> garantir que existe uma última expressão avaliada durante a carga do
>>> arquivo
>>> que retornará um valor verdadeiro. A forma mais fácil de fazer isso, por
>>> acaso, é colocar
>>> 1;
>>> no final do arquivo.
>>> Saudações,
>>> Adriano
>>>
>>>
>>>  e se eu botar logo acima da rotina uma instrução qualquer do tipo $teste
>>>> =
>>>> ""; aí não dá erro e funciona.
>>>>
>>>> []s
>>>> Fernando
>>>>
>>>> ----- Original Message ----- From: "Giuliani Deon Sanches"
>>>> <giulianisanches em gmail.com>
>>>> To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
>>>> Sent: Thursday, June 25, 2009 5:48 PM
>>>> Subject: Re: [Cascavel-pm] sub-rotina na frente
>>>>
>>>>
>>>> 2009/6/25 Fernando <fernandolouis em terra.com.br>:
>>>>
>>>>  Pessoal, pesquisei e não encontrei...
>>>>>
>>>>> Não é correto começar um programa-perl com uma subrotina?
>>>>>
>>>>> []s,
>>>>> Fernando
>>>>> _______________________________________________
>>>>> Cascavel-pm mailing list
>>>>> Cascavel-pm em pm.org
>>>>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>>>>
>>>>>
>>>> A principio e teoricamente não. Ta dando erro pra você ? Qual a saida ?
>>>>
>>>> []'s
>>>>
>>>> --
>>>> twitter.com/giulianisanches
>>>> giulianisanches.blogspot.com
>>>> _______________________________________________
>>>> Cascavel-pm mailing list
>>>> Cascavel-pm em pm.org
>>>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>>>
>>>> _______________________________________________
>>>> Cascavel-pm mailing list
>>>> Cascavel-pm em pm.org
>>>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>>>
>>>
>>>
>>> _______________________________________________
>>> Cascavel-pm mailing list
>>> Cascavel-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>>
>>>
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
>>
>>
> --
> Thomas Storino Britis
> TCNet Informatica e Telecomunicacoes LTDA
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20090701/ff7cdba9/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm