[Rio-pm] Os 5 blocos especiais
Solli Honorio
shonorio em gmail.com
Segunda Setembro 1 15:41:03 PDT 2008
Ola meu querido, você vai fazer xixi na cama desta maneira brincando com
fogo... mas vamos lá ...
O UNITCHECK e CHECK estão terminando sim o teu programa, experimenta
terminar com 'exit 10' e capturar o código de retorno, ou simplesmente algo
do tipo
<code>
perl -e 'print "teste\n"; UNITCHECK { print "dentro do unitcheck\n"; exit 1
}; print "outro tese\n"'
<code>
o resultado será
teste
dentro do unitcheck
... outra coisa, no meu perl 5.8.8 o teu exemplo dá um erro no CHECK, mas
não olhei pq está ocorrendo isto, depois eu verifico em casa, abraço ...
2008/9/1 Lucas Mateus <lucasmateus.oliveira em gmail.com>
> Hj tive uma dúvida quanto aos blocos especias de execução, BEGIN,
> UNITCHECK, CHECK, INIT e END.
>
>
>
> Quanto a ordem de execução:
>
> <code>
> perl -e 'END{print "END".$/} BEGIN{print "BEGIN".$/} INIT{print "INIT".$/}
> UNITCHECK{print "UNITCHECK".$/} CHECK{print "CHECK".$/} print "teste".$/;'
> </code>
>
> RESULTADO:
>
> BEGIN
> UNITCHECK
> CHECK
> INIT
> teste
> END
>
>
>
> O que não consegui entender é porque os blocos UNITCHECK e CHECK não
> finalizam o programa com a função exit() como os blocos BEGIN e INIT ?
>
> MEUS TESTES:
>
> perl -e 'print "teste\n"; UNITCHECK { 0 || exit }' # teste
> perl -e 'print "teste\n"; CHECK { 0 || exit }' # teste
> perl -e 'print "teste\n"; INIT { 0 || exit }' # [nada]
>
>
>
>
> LEITURA:
> http://perldoc.perl.org/perlmod.html#BEGIN%2c-UNITCHECK%2c-CHECK%2c-INIT-and-END
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
--
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20080901/2c773d62/attachment.html>
Mais detalhes sobre a lista de discussão Rio-pm