Special Subroutines

Special subroutines are user defined, but are called by Perl while processing the program. They can be used to change the order in which parts of a program are executed.

[ sub ] AUTOLOAD block

The code in block is executed when the program calls an undefined subroutine. $AUTOLOAD contains the name of the called subroutine, and @_ contains the parameters.

[ sub ] BEGIN block

The code in block is executed immediately when compilation of the block is complete.

[ sub ] CHECK block

Executed (in reverse order) when the compilation of the program finishes.

[ sub ] END block

Executed in reverse order when the Perl interpreter terminates. Inside the END blocks, $? contains the status with which the program is going to exit.

[ sub ] INIT block

Executed immediately before the Perl interpreter starts executing the program.

[ sub ] UNITCHECK block

Executed (in reverse order) when the compilation of the program unit finishes.

perlsub, perlmod.

Get Perl Pocket Reference, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.