I found the description in perlmod, and it says "Similar to BEGIN blocks, INIT blocks are run just before the Perl runtime begins execution, in ``first in, first out'' (FIFO) order." So, how is it different from BEGIN? The description of BEGIN makes it a point that they are evaluated as soon as possible. Implying that INIT is ... not ...? What does that mean? If it means after the file is finished but ahead of the main-line code, that's what they describe a CHECK block as doing. So, is there a better explaination of these somewhere?