O primeiro BEGIN
não é executado até que esteja completamente definido (veja documentação ). Isso não acontece até o final do último }
.
Os outros são executados quando estão completamente definidos - antes.
Eu tenho um script perl:
#!/usr/bin/perl
BEGIN {
print "That's BEGIN message\n";
BEGIN { print "That's BEGIN-2 message\n"; };
END { print "That's END message\n"; };
BEGIN { print "That's BEGIN-3 message\n"; };
};
Funciona assim:
That's BEGIN-2 message
That's BEGIN-3 message
That's BEGIN message
That's END message
Mas por quê? Deve imprimir na linha 1 That's BEGIN message
ou não?
O primeiro BEGIN
não é executado até que esteja completamente definido (veja documentação ). Isso não acontece até o final do último }
.
Os outros são executados quando estão completamente definidos - antes.
Tags perl