in reply to Re^2: Undefined subroutine errors
in thread Undefined subroutine errors

use and BEGIN are executed as soon as they are compiled. Without the BEGIN, the following would happen:

Remember that

use Module

means

BEGIN { require Module; Module->import if Module->can('import'); }