sub main::BEGIN { print "X\n" } #### *main::BEGIN = sub { print "X\n" }; &BEGIN; #### *main::BEGIN = sub { print "X\n" }; BEGIN(); #### *main::BEGIN = sub () { print "X\n" }; BEGIN(); #### perl -e 'BEGIN' # Syntax error. perl -e 'BEGIN; # No error. perl -e 'BEGIN()' # Syntax error. perl -e 'BEGIN();' # No error.