use feature 'switch'; no warnings 'experimental'; $m = 'test'; given ( $m ) { when ('test') { test::Get() }; } package test; sub Get { require IO::All; $data = io(); } 1; #### % perl t.pl Undefined subroutine &test::io called at t.pl line 11. #### $data = IO::All::io() #### Can't call method "_package" on an undefined value at /usr/share/perl5/vendor_perl/IO/All.pm line 63.