$ cat test.pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; require 'MyModule.pm'; print Dumper \%main::MyModule::; $ test.pl main::MyModule $VAR1 = { 'BEGIN' => *::MyModule::BEGIN }; #### $ cat test.pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; BEGIN { require 'MyModule.pm'; } print Dumper \%main::MyModule::; $ test.pl MyModule $VAR1 = { 'BEGIN' => *MyModule::BEGIN }; #### $ cat test.pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; require MyModule; print Dumper \%main::MyModule::; $ test.pl MyModule $VAR1 = { 'BEGIN' => *MyModule::BEGIN }; #### $ cat test.pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; BEGIN { require MyModule; } print Dumper \%main::MyModule::; $ test.pl MyModule $VAR1 = { 'BEGIN' => *MyModule::BEGIN }; #### $ cat test.pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use MyModule; print Dumper \%main::MyModule::; $ test.pl MyModule $VAR1 = { 'BEGIN' => *MyModule::BEGIN, 'import' => *MyModule::import };