Perl에서 시작 {...};

Perl에서 시작 {...};

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"; };
};

다음과 같이 작동합니다.

That's BEGIN-2 message
That's BEGIN-3 message
That's BEGIN message
That's END message

그런데 왜? 라인 1에 인쇄해야 합니까 That's BEGIN message, 아니면 안 됩니까?

답변1

첫 번째는 BEGIN실행될 때까지 실행되지 않습니다.완전히정의(참조문서) 이것은 마지막 에피소드가 끝날 때까지 발생하지 않습니다.}.

다른 것들은 이전에 완전히 정의된 조건 하에서 작동합니다.

관련 정보