[Cascavel-pm] sub-rotina na frente

Thomas Britis thomas em tcnet.com.br
Segunda Junho 29 06:49:36 PDT 2009


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


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