[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