[Rio-pm] Os 5 blocos especiais

Lucas Mateus lucasmateus.oliveira em gmail.com
Segunda Setembro 1 14:49:15 PDT 2008


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




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