#!/usr/bin/perl # use warnings; use strict; use 5.008; sub monk($) {} sub go() { mink(123); } BEGIN { print "$_\n" for grep { /^m/ } sort keys %main:: } go(); __END__ main:: mink monk Undefined subroutine &main::mink called at sub.pl line 5. #### #!/usr/bin/perl # use warnings; use strict; use 5.008; sub mink; # sub mink still undefined, but typeglob allocated. sub monk($) {} sub go() { mink(123); } BEGIN { print "$_\n" for grep { /^m/ } sort keys %main:: } go(); __END__ main:: mink monk Undefined subroutine &main::mink called at sub.pl line 6. #### use strict; $SIG{CHLD} = \&mywait; # value in the %SIG hash is an empty code ref